AST: Rename AvailabilityContext to AvailabilityRange.

The generality of the `AvailabilityContext` name made it seem like it
encapsulates more than it does. Really it just augments `VersionRange` with
additional set algebra operations that are useful for availability
computations. The `AvailabilityContext` name should be reserved for something
pulls together more than just a single version.
This commit is contained in:
Allan Shortlidge
2024-09-13 15:51:21 -07:00
parent 732de44f73
commit 02dbb96b94
49 changed files with 362 additions and 387 deletions

View File

@@ -102,7 +102,7 @@ SILSpecializeAttr::SILSpecializeAttr(bool exported, SpecializationKind kind,
ArrayRef<Type> typeErasedParams,
SILFunction *target, Identifier spiGroup,
const ModuleDecl *spiModule,
AvailabilityContext availability)
AvailabilityRange availability)
: kind(kind), exported(exported), specializedSignature(specializedSig),
unerasedSpecializedSignature(unerasedSpecializedSig),
typeErasedParams(typeErasedParams.begin(), typeErasedParams.end()),
@@ -118,7 +118,7 @@ SILSpecializeAttr::create(SILModule &M, GenericSignature specializedSig,
bool exported, SpecializationKind kind,
SILFunction *target, Identifier spiGroup,
const ModuleDecl *spiModule,
AvailabilityContext availability) {
AvailabilityRange availability) {
auto erasedSpecializedSig =
SILSpecializeAttr::buildTypeErasedSignature(specializedSig,
typeErasedParams);
@@ -218,7 +218,7 @@ SILFunction::SILFunction(
IsRuntimeAccessible_t isRuntimeAccessible)
: SwiftObjectHeader(functionMetatype), Module(Module),
index(Module.getNewFunctionIndex()),
Availability(AvailabilityContext::alwaysAvailable()) {
Availability(AvailabilityRange::alwaysAvailable()) {
init(Linkage, Name, LoweredType, genericEnv, isBareSILFunction, isTrans,
serializedKind, entryCount, isThunk, classSubclassScope, inlineStrategy, E,
DebugScope, isDynamic, isExactSelfClass, isDistributed,
@@ -248,7 +248,7 @@ void SILFunction::init(
this->LoweredType = LoweredType;
this->SpecializationInfo = nullptr;
this->EntryCount = entryCount;
this->Availability = AvailabilityContext::alwaysAvailable();
this->Availability = AvailabilityRange::alwaysAvailable();
this->Bare = isBareSILFunction;
this->Transparent = isTrans;
this->SerializedKind = serializedKind;
@@ -624,7 +624,7 @@ bool SILFunction::isWeakImported(ModuleDecl *module) const {
return false;
auto deploymentTarget =
AvailabilityContext::forDeploymentTarget(getASTContext());
AvailabilityRange::forDeploymentTarget(getASTContext());
if (getASTContext().LangOpts.WeakLinkAtTarget)
return !Availability.isSupersetOf(deploymentTarget);