You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR finalizes the foundation for tracking and measuring the exact compatibility of the VFP within the X# runtime.
Key Changes
Metrics CLI Improvements (vfpCompatMetrics):
Fixed universe offset calculations (proper handling of custom extensions vs canonical functions).
The CLI now explicitly reports the exact names of missing functions to seep up development.
Core / RT Functions Wrappers:
Several VFP functions were already implemented but lived in XSharp.Core or XSharp.RT as they are shared among dialects.
Created wrappers files (e.g., LanguageCoreWrappers.prg, WorkAreaWrappers.prg) inside XSharp.VFP. These wrappers simply forward the call to the Core/RT implementations.
Architecture benefit: This allow us to decorate these specific paths with [FoxProFunction] for our metrics without polluting the base Runtime with VFP-specific attributes, ensuring dialets separation.
Impact
This gives us a concrete baseline of the Structural Coverage and True Compatibility Score to objetively measure our progress.
For the functions that you added. Did you check to see if the xml documentation links are indeed working?
One disadvantage of these duplicate functions is that they will also appear twice in the help file.
I found the docs in the file VfpNotUsedFunctions.xml. I will merge this and see what the result is when generating the documentation.
I see that there are now 2 enties in the TOC. For example
Floor Function (RT)
Floor Function (VFP)
The function from VFP has this prototype:
[FoxProFunctionAttribute("FLOOR", FoxFunctionCategory.MathAndNumeric, FoxEngine.LanguageCore,
FoxFunctionStatus.Full, FoxCriticality.Medium, "", "", "")]
FUNCTION Floor(
nNum REF USUAL
) AS USUAL
Maybe we should exclude these new functions when generating the documentation? You can do that by surrounding them with #ifndef DOC .. #endif
For the functions that you added. Did you check to see if the xml documentation links are indeed working? One disadvantage of these duplicate functions is that they will also appear twice in the help file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR finalizes the foundation for tracking and measuring the exact compatibility of the VFP within the X# runtime.
Key Changes
Metrics CLI Improvements (
vfpCompatMetrics):Core / RT Functions Wrappers:
XSharp.CoreorXSharp.RTas they are shared among dialects.LanguageCoreWrappers.prg,WorkAreaWrappers.prg) insideXSharp.VFP. These wrappers simply forward the call to the Core/RT implementations.[FoxProFunction]for our metrics without polluting the base Runtime with VFP-specific attributes, ensuring dialets separation.Impact
This gives us a concrete baseline of the Structural Coverage and True Compatibility Score to objetively measure our progress.