AST: Refactor AvailabilityQuery constructors.

Get rid of the boolean arguments for unavailability in AvailabilityQuery's
constructors and introduce a `asUnavailable()` modifier that can be used
instead in the contexts where unavailability is relevant.
This commit is contained in:
Allan Shortlidge
2025-08-06 17:17:34 -07:00
parent 78f50ba741
commit b4fb7c81c0
6 changed files with 37 additions and 33 deletions

View File

@@ -4592,7 +4592,8 @@ public:
DECODE_VER_TUPLE(version);
queries.push_back(AvailabilityQuery::dynamic(
domain, isUnavailability, AvailabilityRange(version), std::nullopt));
domain, AvailabilityRange(version), std::nullopt)
.asUnavailable(isUnavailability));
}
}
@@ -4731,7 +4732,7 @@ public:
OpaqueTypeDecl::ConditionallyAvailableSubstitutions::get(
ctx,
{AvailabilityQuery::universallyConstant(
/*isUnavailable=*/false, /*value=*/true)},
/*value=*/true)},
subMapOrError.get()));
opaqueDecl->setConditionallyAvailableSubstitutions(limitedAvailability);