@@ -40,15 +40,15 @@ static bool constrainRange(AvailabilityRange &existing,
4040
4141bool AvailabilityContext::Info::constrainWith (const Info &other) {
4242 bool isConstrained = false ;
43- isConstrained |= constrainRange (Range , other.Range );
43+ isConstrained |= constrainRange (PlatformRange , other.PlatformRange );
4444 isConstrained |= constrainUnavailability (other.UnavailableDomains );
4545 isConstrained |= CONSTRAIN_BOOL (IsDeprecated, other.IsDeprecated );
4646
4747 return isConstrained;
4848}
4949
5050bool AvailabilityContext::Info::constrainWith (
51- const DeclAvailabilityConstraints &constraints, ASTContext &ctx) {
51+ const DeclAvailabilityConstraints &constraints, const ASTContext &ctx) {
5252 bool isConstrained = false ;
5353
5454 for (auto constraint : constraints) {
@@ -57,14 +57,15 @@ bool AvailabilityContext::Info::constrainWith(
5757 switch (constraint.getReason ()) {
5858 case AvailabilityConstraint::Reason::UnconditionallyUnavailable:
5959 case AvailabilityConstraint::Reason::Obsoleted:
60- case AvailabilityConstraint::Reason::IntroducedInLaterVersion :
60+ case AvailabilityConstraint::Reason::UnavailableForDeployment :
6161 isConstrained |= constrainUnavailability (domain);
6262 break ;
63- case AvailabilityConstraint::Reason::IntroducedInLaterDynamicVersion :
63+ case AvailabilityConstraint::Reason::PotentiallyUnavailable :
6464 // FIXME: [availability] Support versioning for other kinds of domains.
6565 DEBUG_ASSERT (domain.isPlatform ());
6666 if (domain.isPlatform ())
67- isConstrained |= constrainRange (Range, attr.getIntroducedRange (ctx));
67+ isConstrained |=
68+ constrainRange (PlatformRange, attr.getIntroducedRange (ctx));
6869 break ;
6970 }
7071 }
@@ -121,7 +122,7 @@ bool AvailabilityContext::Info::constrainUnavailability(
121122
122123bool AvailabilityContext::Info::isContainedIn (const Info &other) const {
123124 // The available versions range be the same or smaller.
124- if (!Range .isContainedIn (other.Range ))
125+ if (!PlatformRange .isContainedIn (other.PlatformRange ))
125126 return false ;
126127
127128 // Every unavailable domain in the other context should be contained in some
@@ -147,15 +148,15 @@ bool AvailabilityContext::Info::isContainedIn(const Info &other) const {
147148}
148149
149150void AvailabilityContext::Info::Profile (llvm::FoldingSetNodeID &ID) const {
150- Range .getRawVersionRange ().Profile (ID);
151+ PlatformRange .getRawVersionRange ().Profile (ID);
151152 ID.AddInteger (UnavailableDomains.size ());
152153 for (auto domain : UnavailableDomains) {
153154 domain.Profile (ID);
154155 }
155156 ID.AddBoolean (IsDeprecated);
156157}
157158
158- bool AvailabilityContext::Info::verify (ASTContext &ctx) const {
159+ bool AvailabilityContext::Info::verify (const ASTContext &ctx) const {
159160 // Unavailable domains must be sorted to ensure folding set node lookups yield
160161 // consistent results.
161162 if (!llvm::is_sorted (UnavailableDomains,
@@ -167,24 +168,26 @@ bool AvailabilityContext::Info::verify(ASTContext &ctx) const {
167168
168169AvailabilityContext
169170AvailabilityContext::forPlatformRange (const AvailabilityRange &range,
170- ASTContext &ctx) {
171+ const ASTContext &ctx) {
171172 Info info{range, /* UnavailableDomains*/ {},
172173 /* IsDeprecated*/ false };
173174 return AvailabilityContext (Storage::get (info, ctx));
174175}
175176
176- AvailabilityContext AvailabilityContext::forInliningTarget (ASTContext &ctx) {
177+ AvailabilityContext
178+ AvailabilityContext::forInliningTarget (const ASTContext &ctx) {
177179 return AvailabilityContext::forPlatformRange (
178180 AvailabilityRange::forInliningTarget (ctx), ctx);
179181}
180182
181- AvailabilityContext AvailabilityContext::forDeploymentTarget (ASTContext &ctx) {
183+ AvailabilityContext
184+ AvailabilityContext::forDeploymentTarget (const ASTContext &ctx) {
182185 return AvailabilityContext::forPlatformRange (
183186 AvailabilityRange::forDeploymentTarget (ctx), ctx);
184187}
185188
186189AvailabilityRange AvailabilityContext::getPlatformRange () const {
187- return storage->info .Range ;
190+ return storage->info .PlatformRange ;
188191}
189192
190193bool AvailabilityContext::isUnavailable () const {
@@ -205,7 +208,7 @@ bool AvailabilityContext::isDeprecated() const {
205208}
206209
207210void AvailabilityContext::constrainWithContext (const AvailabilityContext &other,
208- ASTContext &ctx) {
211+ const ASTContext &ctx) {
209212 bool isConstrained = false ;
210213
211214 Info info{storage->info };
@@ -218,17 +221,17 @@ void AvailabilityContext::constrainWithContext(const AvailabilityContext &other,
218221}
219222
220223void AvailabilityContext::constrainWithPlatformRange (
221- const AvailabilityRange &platformRange, ASTContext &ctx) {
224+ const AvailabilityRange &platformRange, const ASTContext &ctx) {
222225
223226 Info info{storage->info };
224- if (!constrainRange (info.Range , platformRange))
227+ if (!constrainRange (info.PlatformRange , platformRange))
225228 return ;
226229
227230 storage = Storage::get (info, ctx);
228231}
229232
230233void AvailabilityContext::constrainWithUnavailableDomain (
231- AvailabilityDomain domain, ASTContext &ctx) {
234+ AvailabilityDomain domain, const ASTContext &ctx) {
232235 Info info{storage->info };
233236 if (!info.constrainUnavailability (domain))
234237 return ;
@@ -251,7 +254,7 @@ void AvailabilityContext::constrainWithDeclAndPlatformRange(
251254 swift::getAvailabilityConstraintsForDecl (decl, *this , flags);
252255 isConstrained |= info.constrainWith (constraints, decl->getASTContext ());
253256 isConstrained |= CONSTRAIN_BOOL (info.IsDeprecated , decl->isDeprecated ());
254- isConstrained |= constrainRange (info.Range , platformRange);
257+ isConstrained |= constrainRange (info.PlatformRange , platformRange);
255258
256259 if (!isConstrained)
257260 return ;
@@ -289,6 +292,6 @@ void AvailabilityContext::print(llvm::raw_ostream &os) const {
289292
290293void AvailabilityContext::dump () const { print (llvm::errs ()); }
291294
292- bool AvailabilityContext::verify (ASTContext &ctx) const {
295+ bool AvailabilityContext::verify (const ASTContext &ctx) const {
293296 return storage->info .verify (ctx);
294297}
0 commit comments