[5.9][CodeCompletion] Enable SwiftParser parsing for code completion #65080
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.
cherry-pick #65078 into release/5.9
Explanation: The new
SwiftSyntax
parsing is required for macro expansion, but it was disabled for a source manager mode that has code completion token in the buffer. Because of that, any macro generated declarations weren't suggested in code completion. Enable SwiftParser parsing for code completion, but without the roundtrip/validation testing. With this change, macros are correctly expanded, and those introduced decls are correctly suggested in code completionScope: Code completion with macros
Risk: Low-Mid. This introduces a new thing to code completion, but it is well tested in other modes including compilation and SourceKit cursor info
Testing: Added a regression test case
Issues: rdar://107900870
Reviewers: Ben Barham (@bnbarham) Alex Hoppen (@ahoppen)