Skip to content

Commit 4652f06

Browse files
committed
GSB: Extract out ExplicitRequirement::getSubjectType()
1 parent 5d8de96 commit 4652f06

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/AST/GenericSignatureBuilder.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,10 @@ class GenericSignatureBuilder::ExplicitRequirement {
580580
return sourceAndKind.getInt();
581581
}
582582

583+
Type getSubjectType() const {
584+
return getSource()->getStoredType();
585+
}
586+
583587
const RequirementSource *getSource() const {
584588
return sourceAndKind.getPointer();
585589
}
@@ -7179,7 +7183,7 @@ void GenericSignatureBuilder::diagnoseRedundantRequirements() const {
71797183
}))
71807184
continue;
71817185

7182-
auto subjectType = getSugaredDependentType(source->getStoredType(),
7186+
auto subjectType = getSugaredDependentType(req.getSubjectType(),
71837187
getGenericParams());
71847188

71857189
switch (req.getKind()) {
@@ -7321,7 +7325,7 @@ void GenericSignatureBuilder::diagnoseConflictingConcreteTypeRequirements() cons
73217325
if (loc.isInvalid() && otherLoc.isInvalid())
73227326
continue;
73237327

7324-
auto subjectType = pair.concreteTypeRequirement.getSource()->getStoredType();
7328+
auto subjectType = pair.concreteTypeRequirement.getSubjectType();
73257329
SourceLoc subjectLoc = (loc.isInvalid() ? otherLoc : loc);
73267330

73277331
Impl->HadAnyError = true;
@@ -8292,7 +8296,7 @@ void GenericSignatureBuilder::enumerateRequirements(
82928296
continue;
82938297

82948298
auto depTy = getCanonicalTypeInContext(
8295-
req.getSource()->getStoredType(), { });
8299+
req.getSubjectType(), { });
82968300

82978301
// FIXME: This should be an assert once we ensure that concrete
82988302
// same-type requirements always mark other requirements on the
@@ -8561,7 +8565,7 @@ GenericSignature GenericSignatureBuilder::rebuildSignatureWithoutRedundantRequir
85618565
Impl->ExplicitConformancesImpliedByConcrete.count(req))
85628566
continue;
85638567

8564-
auto subjectType = req.getSource()->getStoredType();
8568+
auto subjectType = req.getSubjectType();
85658569
subjectType = stripBoundDependentMemberTypes(subjectType);
85668570
auto resolvedSubjectType =
85678571
resolveDependentMemberTypes(*this, subjectType,

0 commit comments

Comments
 (0)