@@ -136,9 +136,17 @@ class NodeFinder : ASTWalker {
136
136
return Range.contains (LocToResolve);
137
137
}
138
138
139
+ PreWalkResult<ArgumentList *>
140
+ walkToArgumentListPre (ArgumentList *ArgList) override {
141
+ if (!rangeContainsLocToResolve (ArgList->getSourceRange ())) {
142
+ return Action::SkipChildren (ArgList);
143
+ }
144
+ return Action::Continue (ArgList);
145
+ }
146
+
139
147
PreWalkAction walkToDeclPre (Decl *D) override {
140
148
if (!rangeContainsLocToResolve (D->getSourceRangeIncludingAttrs ())) {
141
- return PreWalkAction ::SkipChildren;
149
+ return Action ::SkipChildren() ;
142
150
}
143
151
144
152
if (auto *newDC = dyn_cast<DeclContext>(D)) {
@@ -182,6 +190,10 @@ class NodeFinder : ASTWalker {
182
190
}
183
191
}
184
192
193
+ if (!rangeContainsLocToResolve (E->getSourceRange ())) {
194
+ return Action::SkipChildren (E);
195
+ }
196
+
185
197
return Action::Continue (E);
186
198
}
187
199
@@ -193,6 +205,20 @@ class NodeFinder : ASTWalker {
193
205
return Action::Continue (E);
194
206
}
195
207
208
+ PreWalkAction walkToParameterListPre (ParameterList *PL) override {
209
+ if (!rangeContainsLocToResolve (PL->getSourceRange ())) {
210
+ return Action::SkipChildren ();
211
+ }
212
+ return Action::Continue ();
213
+ }
214
+
215
+ PreWalkResult<Pattern *> walkToPatternPre (Pattern *P) override {
216
+ if (!rangeContainsLocToResolve (P->getSourceRange ())) {
217
+ return Action::SkipChildren (P);
218
+ }
219
+ return Action::Continue (P);
220
+ }
221
+
196
222
PreWalkResult<Stmt *> walkToStmtPre (Stmt *S) override {
197
223
if (auto CondStmt = dyn_cast<LabeledConditionalStmt>(S)) {
198
224
for (auto ShorthandShadow :
@@ -201,8 +227,17 @@ class NodeFinder : ASTWalker {
201
227
ShorthandShadowedDecls[ShorthandShadow.first ] = ShorthandShadow.second ;
202
228
}
203
229
}
230
+
231
+ if (!rangeContainsLocToResolve (S->getSourceRange ())) {
232
+ return Action::SkipChildren (S);
233
+ }
234
+
204
235
return Action::Continue (S);
205
236
}
237
+
238
+ PreWalkAction walkToTypeReprPre (TypeRepr *T) override {
239
+ return Action::SkipChildren ();
240
+ }
206
241
};
207
242
208
243
// MARK: - CursorInfoDoneParsingCallback
0 commit comments