@@ -857,8 +857,6 @@ SelfBoundsFromWhereClauseRequest::evaluate(
857
857
if (auto identTypeRepr = dyn_cast<SimpleIdentTypeRepr>(typeRepr))
858
858
isSelfLHS = (identTypeRepr->getNameRef ().getBaseIdentifier () ==
859
859
ctx.Id_Self );
860
- } else if (Type type = req.getSubject ()) {
861
- isSelfLHS = type->isEqual (dc->getSelfInterfaceType ());
862
860
}
863
861
if (!isSelfLHS)
864
862
continue ;
@@ -867,8 +865,6 @@ SelfBoundsFromWhereClauseRequest::evaluate(
867
865
DirectlyReferencedTypeDecls rhsDecls;
868
866
if (auto typeRepr = req.getConstraintRepr ()) {
869
867
rhsDecls = directReferencesForTypeRepr (evaluator, ctx, typeRepr, lookupDC);
870
- } else if (Type type = req.getConstraint ()) {
871
- rhsDecls = directReferencesForType (type);
872
868
}
873
869
874
870
SmallVector<ModuleDecl *, 2 > modulesFound;
@@ -899,30 +895,24 @@ TypeDeclsFromWhereClauseRequest::evaluate(Evaluator &evaluator,
899
895
ASTContext &ctx = ext->getASTContext ();
900
896
901
897
TinyPtrVector<TypeDecl *> result;
898
+ auto resolve = [&](TypeRepr *typeRepr) {
899
+ auto decls = directReferencesForTypeRepr (evaluator, ctx, typeRepr, ext);
900
+ result.insert (result.end (), decls.begin (), decls.end ());
901
+ };
902
902
for (const auto &req : ext->getGenericParams ()->getTrailingRequirements ()) {
903
- auto resolve = [&](TypeLoc loc) {
904
- DirectlyReferencedTypeDecls decls;
905
- if (auto *typeRepr = loc.getTypeRepr ())
906
- decls = directReferencesForTypeRepr (evaluator, ctx, typeRepr, ext);
907
- else if (Type type = loc.getType ())
908
- decls = directReferencesForType (type);
909
-
910
- result.insert (result.end (), decls.begin (), decls.end ());
911
- };
912
-
913
903
switch (req.getKind ()) {
914
904
case RequirementReprKind::TypeConstraint:
915
- resolve (req.getSubjectLoc ());
916
- resolve (req.getConstraintLoc ());
905
+ resolve (req.getSubjectRepr ());
906
+ resolve (req.getConstraintRepr ());
917
907
break ;
918
908
919
909
case RequirementReprKind::SameType:
920
- resolve (req.getFirstTypeLoc ());
921
- resolve (req.getSecondTypeLoc ());
910
+ resolve (req.getFirstTypeRepr ());
911
+ resolve (req.getSecondTypeRepr ());
922
912
break ;
923
913
924
914
case RequirementReprKind::LayoutConstraint:
925
- resolve (req.getSubjectLoc ());
915
+ resolve (req.getSubjectRepr ());
926
916
break ;
927
917
}
928
918
}
0 commit comments