Support code-fix-all for importFixes #25137
Merged
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.
At long last, fixes #20315
This was harder than the others because
importFixes
was written as a tree of function calls withCodeFixAction
s being created at the bottom of that tree, while in the middle of determining what fixes to do. That's a problem because for code-fix-all we don't want to get aCodeFixAction
, we want information about one of many imports that we're adding. (We can't just combine the text changes independently, or else we'd add 5 import statements instead of an import with 5 imported names.)So, this PR refactors it to return a
ImportFix
, which can be converted into aCodeFixAction
, or can be added to a collection of new imports that are then added as a group.