[IDE][Refactoring] Handle 'callAsFunction' specially in syntactic rename #30964
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 change makes us treat it exactly as we do
init
. We don't allow renaming the base name (just the labels), and don't fail if the base name doesn't match for calls.Note: syntactically we can only go by the passed-in symbol name being spelled
callAsFunction
to check if we should treat it as such, so even non-instance methods with the same spelling are treated as having a special base name when they shouldn't at the moment.This also fixes a bug where
init
references weren't reporting akeywordBase
range, and cursor info was reporting rename as available oninit
references/calls with no arguments (meaning there was nothing that could be renamed from that occurrence). It also fixes bug where function calls were incorrectly being reported as references in some cases, so rename was missing their argument labels.Resolves rdar://problem/60340429