[ParseVersion] Fix parseVersionString passing Diags as skipQuote, which shifted version component SourceRanges by 1 and mislocated diagnostics #86164
+1
−1
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.
Explanation:
Fix
VersionParser::parseVersionStringto stop passingDiagnosticEngine*as theskipQuoteargument tosplitVersionComponents. The implicit pointer-to-bool conversion was effectively makingskipQuotetrue, advancingLocby one character and shifting version componentSourceRanges, which can misplace diagnostics and contribute to cascading errors.Scope:
Diagnostic-only change. Does not alter version parsing semantics, only the computed source locations for diagnostics emitted from this path. Unlikely to break existing code; may require updating tests that assert exact caret ranges.
Issues:
N/A
Original PRs:
N/A
Risk:
Low. Main risk is test expectation churn around diagnostic ranges; runtime behavior and accepted syntax should be unchanged.
Testing:
Not tested yet.
Reviewers:
N/A