Skip to content

Commit 33071e2

Browse files
committed
Sema: Use getNextDepth()/getMaxDepth()
1 parent 7da4886 commit 33071e2

File tree

4 files changed

+5
-11
lines changed

4 files changed

+5
-11
lines changed

lib/Sema/CSSimplify.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1572,8 +1572,7 @@ shouldOpenExistentialCallArgument(ValueDecl *callee, unsigned paramIdx,
15721572

15731573
auto genericSig = callee->getInnermostDeclContext()
15741574
->getGenericSignatureOfContext().getCanonicalSignature();
1575-
if (genericParam->getDepth() <
1576-
genericSig.getGenericParams().back()->getDepth())
1575+
if (genericParam->getDepth() < genericSig->getMaxDepth())
15771576
return std::nullopt;
15781577

15791578
// If the existential argument conforms to all of protocol requirements on

lib/Sema/CodeSynthesis.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -541,9 +541,7 @@ createDesignatedInitOverrideGenericParams(ASTContext &ctx,
541541
if (genericParams == nullptr)
542542
return nullptr;
543543

544-
unsigned depth = 0;
545-
if (auto classSig = classDecl->getGenericSignature())
546-
depth = classSig.getGenericParams().back()->getDepth() + 1;
544+
unsigned depth = classDecl->getGenericSignature().getNextDepth();
547545

548546
SmallVector<GenericTypeParamDecl *, 4> newParams;
549547
for (auto *param : genericParams->getParams()) {

lib/Sema/PreCheckExpr.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -713,8 +713,8 @@ Expr *TypeChecker::resolveDeclRefExpr(UnresolvedDeclRefExpr *UDRE,
713713
if (!xGeneric)
714714
return false;
715715

716-
unsigned xDepth = xGeneric->getGenericParams().back()->getDepth();
717-
unsigned yDepth = yGeneric->getGenericParams().back()->getDepth();
716+
unsigned xDepth = xGeneric->getGenericSignature()->getMaxDepth();
717+
unsigned yDepth = yGeneric->getGenericSignature()->getMaxDepth();
718718
return xDepth < yDepth;
719719
});
720720
}

lib/Sema/TypeCheckGeneric.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,7 @@ OpaqueResultTypeRequest::evaluate(Evaluator &evaluator,
9696
// types and their interface constraints.
9797
auto originatingDC = originatingDecl->getInnermostDeclContext();
9898
auto outerGenericSignature = originatingDC->getGenericSignatureOfContext();
99-
unsigned opaqueSignatureDepth =
100-
outerGenericSignature
101-
? outerGenericSignature.getGenericParams().back()->getDepth() + 1
102-
: 0;
99+
unsigned opaqueSignatureDepth = outerGenericSignature.getNextDepth();
103100

104101
// Determine the context of the opaque type declaration we'll be creating.
105102
auto parentDC = originatingDecl->getDeclContext();

0 commit comments

Comments
 (0)