Skip to content

Commit 7a1c558

Browse files
committed
Add more missing ASTWalker macro behavior entries
1 parent 200f234 commit 7a1c558

File tree

6 files changed

+56
-0
lines changed

6 files changed

+56
-0
lines changed

include/swift/IDE/Utils.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@ class NameMatcher: public ASTWalker {
368368
bool handleCustomAttrs(Decl *D);
369369
ArgumentList *getApplicableArgsFor(Expr* E);
370370

371+
MacroWalking getMacroWalkingBehavior() const override {
372+
return MacroWalking::Arguments;
373+
}
374+
371375
PreWalkResult<Expr *> walkToExprPre(Expr *E) override;
372376
PostWalkResult<Expr *> walkToExprPost(Expr *E) override;
373377
PreWalkAction walkToDeclPre(Decl *D) override;

lib/IDE/IDERequests.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ class CursorInfoResolver : public SourceEntityWalker {
7777
ResolvedCursorInfoPtr resolve(SourceLoc Loc);
7878
SourceManager &getSourceMgr() const;
7979
private:
80+
MacroWalking getMacroWalkingBehavior() const override {
81+
return MacroWalking::ArgumentsAndExpansion;
82+
}
83+
8084
bool walkToExprPre(Expr *E) override;
8185
bool walkToExprPost(Expr *E) override;
8286
bool walkToDeclPre(Decl *D, CharSourceRange Range) override;

lib/Refactoring/Refactoring.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2404,6 +2404,10 @@ isApplicable(const ResolvedRangeInfo &Info, DiagnosticEngine &Diag) {
24042404
bool ConditionUseOnlyAllowedFunctions = false;
24052405
StringRef ExpectName;
24062406

2407+
MacroWalking getMacroWalkingBehavior() const override {
2408+
return MacroWalking::Arguments;
2409+
}
2410+
24072411
PostWalkResult<Expr *> walkToExprPost(Expr *E) override {
24082412
if (E->getKind() != ExprKind::DeclRef)
24092413
return Action::Continue(E);
@@ -2502,6 +2506,10 @@ bool RefactoringActionConvertToSwitchStmt::performChange() {
25022506
public:
25032507
std::string VarName;
25042508

2509+
MacroWalking getMacroWalkingBehavior() const override {
2510+
return MacroWalking::Arguments;
2511+
}
2512+
25052513
PostWalkResult<Expr *> walkToExprPost(Expr *E) override {
25062514
if (E->getKind() != ExprKind::DeclRef)
25072515
return Action::Continue(E);
@@ -2519,6 +2527,10 @@ bool RefactoringActionConvertToSwitchStmt::performChange() {
25192527

25202528
SmallString<64> ConditionalPattern = SmallString<64>();
25212529

2530+
MacroWalking getMacroWalkingBehavior() const override {
2531+
return MacroWalking::Arguments;
2532+
}
2533+
25222534
PostWalkResult<Expr *> walkToExprPost(Expr *E) override {
25232535
auto *BE = dyn_cast<BinaryExpr>(E);
25242536
if (!BE)
@@ -3669,6 +3681,10 @@ class SynthesizedCodablePrinter : public ASTWalker {
36693681
public:
36703682
SynthesizedCodablePrinter(ASTPrinter &Printer) : Printer(Printer) {}
36713683

3684+
MacroWalking getMacroWalkingBehavior() const override {
3685+
return MacroWalking::Arguments;
3686+
}
3687+
36723688
PreWalkAction walkToDeclPre(Decl *D) override {
36733689
auto *VD = dyn_cast<ValueDecl>(D);
36743690
if (!VD)
@@ -3849,6 +3865,10 @@ static NumberLiteralExpr *getTrailingNumberLiteral(ResolvedCursorInfoPtr Tok) {
38493865

38503866
explicit FindLiteralNumber(Expr *parent) : parent(parent) { }
38513867

3868+
MacroWalking getMacroWalkingBehavior() const override {
3869+
return MacroWalking::Arguments;
3870+
}
3871+
38523872
PreWalkResult<Expr *> walkToExprPre(Expr *expr) override {
38533873
if (auto *literal = dyn_cast<NumberLiteralExpr>(expr)) {
38543874
// The sub-expression must have the same start loc with the outermost
@@ -5434,6 +5454,10 @@ struct CallbackClassifier {
54345454
: ErrParam(ErrParam) {}
54355455
bool foundUnwrap() const { return FoundUnwrap; }
54365456

5457+
MacroWalking getMacroWalkingBehavior() const override {
5458+
return MacroWalking::Arguments;
5459+
}
5460+
54375461
PreWalkResult<Expr *> walkToExprPre(Expr *E) override {
54385462
// Don't walk into ternary conditionals as they may have additional
54395463
// conditions such as err != nil that make a force unwrap now valid.

tools/SourceKit/lib/SwiftLang/SwiftEditor.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,6 +1525,10 @@ class PlaceholderExpansionScanner {
15251525
: PlaceholderLoc(PlaceholderLoc), Found(Found) {
15261526
}
15271527

1528+
MacroWalking getMacroWalkingBehavior() const override {
1529+
return MacroWalking::Arguments;
1530+
}
1531+
15281532
PreWalkResult<Expr *> walkToExprPre(Expr *E) override {
15291533
if (isa<EditorPlaceholderExpr>(E) && E->getStartLoc() == PlaceholderLoc) {
15301534
Found = cast<EditorPlaceholderExpr>(E);
@@ -1558,6 +1562,10 @@ class PlaceholderExpansionScanner {
15581562
explicit ClosureTypeWalker(SourceManager &SM, ClosureInfo &Info) : SM(SM),
15591563
Info(Info) { }
15601564

1565+
MacroWalking getMacroWalkingBehavior() const override {
1566+
return MacroWalking::Arguments;
1567+
}
1568+
15611569
PreWalkAction walkToTypeReprPre(TypeRepr *T) override {
15621570
if (auto *FTR = dyn_cast<FunctionTypeRepr>(T)) {
15631571
FoundFunctionTypeRepr = true;

tools/swift-ast-script/ASTScriptEvaluator.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ class ASTScriptWalker : public ASTWalker {
3737
ASTScriptWalker(const ASTScript &script, ProtocolDecl *viewProtocol)
3838
: Script(script), ViewProtocol(viewProtocol) {}
3939

40+
MacroWalking getMacroWalkingBehavior() const override {
41+
return MacroWalking::Expansion;
42+
}
43+
4044
PreWalkAction walkToDeclPre(Decl *D) override {
4145
visit(D);
4246
return Action::Continue();

tools/swift-ide-test/swift-ide-test.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3227,6 +3227,10 @@ class ASTTypePrinter : public ASTWalker {
32273227
ASTTypePrinter(SourceManager &SM, const PrintOptions &Options)
32283228
: OS(llvm::outs()), SM(SM), Options(Options) {}
32293229

3230+
MacroWalking getMacroWalkingBehavior() const override {
3231+
return MacroWalking::Expansion;
3232+
}
3233+
32303234
PreWalkAction walkToDeclPre(Decl *D) override {
32313235
if (auto *VD = dyn_cast<ValueDecl>(D)) {
32323236
OS.indent(IndentLevel * 2);
@@ -3310,6 +3314,10 @@ class ASTDocCommentDumper : public ASTWalker {
33103314
public:
33113315
ASTDocCommentDumper() : OS(llvm::outs()) {}
33123316

3317+
MacroWalking getMacroWalkingBehavior() const override {
3318+
return MacroWalking::Expansion;
3319+
}
3320+
33133321
PreWalkAction walkToDeclPre(Decl *D) override {
33143322
if (D->isImplicit())
33153323
return Action::Continue();
@@ -3464,6 +3472,10 @@ class ASTCommentPrinter : public ASTWalker {
34643472
}
34653473
}
34663474

3475+
MacroWalking getMacroWalkingBehavior() const override {
3476+
return MacroWalking::Expansion;
3477+
}
3478+
34673479
PreWalkAction walkToDeclPre(Decl *D) override {
34683480
if (D->isImplicit())
34693481
return Action::Continue();

0 commit comments

Comments
 (0)