@@ -96,6 +96,8 @@ static void diagSyntacticUseRestrictions(const Expr *E, const DeclContext *DC,
96
96
return false ;
97
97
}
98
98
99
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
100
+
99
101
bool shouldWalkIntoTapExpression () override { return false ; }
100
102
101
103
std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -1332,6 +1334,8 @@ static void diagRecursivePropertyAccess(const Expr *E, const DeclContext *DC) {
1332
1334
return false ;
1333
1335
}
1334
1336
1337
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
1338
+
1335
1339
bool shouldWalkIntoTapExpression () override { return false ; }
1336
1340
1337
1341
std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -1505,6 +1509,8 @@ static void diagnoseImplicitSelfUseInClosure(const Expr *E,
1505
1509
return false ;
1506
1510
}
1507
1511
1512
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
1513
+
1508
1514
bool shouldWalkIntoTapExpression () override { return false ; }
1509
1515
1510
1516
std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -1515,7 +1521,6 @@ static void diagnoseImplicitSelfUseInClosure(const Expr *E,
1515
1521
Closures.push_back (CE);
1516
1522
}
1517
1523
1518
-
1519
1524
// If we aren't in a closure, no diagnostics will be produced.
1520
1525
if (Closures.size () == 0 )
1521
1526
return { true , E };
@@ -3332,6 +3337,8 @@ static void checkStmtConditionTrailingClosure(ASTContext &ctx, const Expr *E) {
3332
3337
return false ;
3333
3338
}
3334
3339
3340
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
3341
+
3335
3342
bool shouldWalkIntoTapExpression () override { return false ; }
3336
3343
3337
3344
std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -3482,6 +3489,8 @@ class ObjCSelectorWalker : public ASTWalker {
3482
3489
return false ;
3483
3490
}
3484
3491
3492
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
3493
+
3485
3494
bool shouldWalkIntoTapExpression () override { return false ; }
3486
3495
3487
3496
std::pair<bool , Expr *> walkToExprPre (Expr *expr) override {
@@ -4222,6 +4231,8 @@ static void diagnoseUnintendedOptionalBehavior(const Expr *E,
4222
4231
return false ;
4223
4232
}
4224
4233
4234
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
4235
+
4225
4236
bool shouldWalkIntoTapExpression () override { return false ; }
4226
4237
4227
4238
std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -4298,6 +4309,8 @@ static void diagnoseDeprecatedWritableKeyPath(const Expr *E,
4298
4309
return false ;
4299
4310
}
4300
4311
4312
+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
4313
+
4301
4314
bool shouldWalkIntoTapExpression () override { return false ; }
4302
4315
4303
4316
std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
0 commit comments