@@ -223,9 +223,7 @@ class Traversal : public ASTVisitor<Traversal, Expr*, Stmt*,
223
223
}
224
224
225
225
bool visitTypeAliasDecl (TypeAliasDecl *TAD) {
226
- if (TAD->getGenericParams () &&
227
- Walker.shouldWalkIntoGenericParams ()) {
228
-
226
+ if (Walker.shouldWalkIntoGenericParams () && TAD->getGenericParams ()) {
229
227
if (visitGenericParamList (TAD->getGenericParams ()))
230
228
return true ;
231
229
}
@@ -237,8 +235,7 @@ class Traversal : public ASTVisitor<Traversal, Expr*, Stmt*,
237
235
}
238
236
239
237
bool visitOpaqueTypeDecl (OpaqueTypeDecl *OTD) {
240
- if (OTD->getGenericParams () &&
241
- Walker.shouldWalkIntoGenericParams ()) {
238
+ if (Walker.shouldWalkIntoGenericParams () && OTD->getGenericParams ()) {
242
239
if (visitGenericParamList (OTD->getGenericParams ()))
243
240
return true ;
244
241
}
@@ -272,16 +269,15 @@ class Traversal : public ASTVisitor<Traversal, Expr*, Stmt*,
272
269
}
273
270
274
271
// Visit requirements
275
- if (auto *Protocol = dyn_cast<ProtocolDecl>(NTD)) {
276
- if (auto *WhereClause = Protocol->getTrailingWhereClause ()) {
277
- for (auto &Req: WhereClause->getRequirements ()) {
278
- if (doIt (Req))
279
- return true ;
280
- }
281
- }
282
- }
283
272
if (WalkGenerics) {
284
- for (auto Req: NTD->getGenericParams ()->getTrailingRequirements ()) {
273
+ ArrayRef<swift::RequirementRepr> Reqs = None;
274
+ if (auto *Protocol = dyn_cast<ProtocolDecl>(NTD)) {
275
+ if (auto *WhereClause = Protocol->getTrailingWhereClause ())
276
+ Reqs = WhereClause->getRequirements ();
277
+ } else {
278
+ Reqs = NTD->getGenericParams ()->getTrailingRequirements ();
279
+ }
280
+ for (auto Req: Reqs) {
285
281
if (doIt (Req))
286
282
return true ;
287
283
}
@@ -1329,7 +1325,6 @@ class Traversal : public ASTVisitor<Traversal, Expr*, Stmt*,
1329
1325
1330
1326
private:
1331
1327
bool visitGenericParamListIfNeeded (GenericContext *gc) {
1332
- // Must check this first in case extensions have not been bound yet
1333
1328
if (Walker.shouldWalkIntoGenericParams ()) {
1334
1329
if (auto *params = gc->getGenericParams ()) {
1335
1330
visitGenericParamList (params);
0 commit comments