AST/Sema: Sink AvailabilityContext for location queries from Sema to AST.

This commit is contained in:
Allan Shortlidge
2025-03-15 23:31:34 -07:00
parent 151c9dee39
commit 2dd544a73c
9 changed files with 87 additions and 89 deletions

View File

@@ -4588,7 +4588,7 @@ Expr *ConstraintSystem::buildTypeErasedExpr(Expr *expr, DeclContext *dc,
auto *PD = protocols.front();
auto contextAvailability =
TypeChecker::availabilityAtLocation(expr->getLoc(), dc);
AvailabilityContext::forLocation(expr->getLoc(), dc);
auto refinedAvailability =
AvailabilityContext::forPlatformRange(
AvailabilityRange::alwaysAvailable(), ctx);
@@ -4600,8 +4600,7 @@ Expr *ConstraintSystem::buildTypeErasedExpr(Expr *expr, DeclContext *dc,
assert(eraser && "Failed to resolve eraser type!");
auto *nominal = eraser->getAnyNominal();
auto nominalAvailability =
TypeChecker::availabilityForDeclSignature(nominal);
auto nominalAvailability = AvailabilityContext::forDeclSignature(nominal);
if (contextAvailability.isContainedIn(nominalAvailability) &&
nominalAvailability.isContainedIn(refinedAvailability)) {