@@ -3012,12 +3012,12 @@ bool shouldHideDomainNameForConstraintDiagnostic(
3012
3012
3013
3013
case AvailabilityDomain::Kind::PackageDescription:
3014
3014
case AvailabilityDomain::Kind::SwiftLanguage:
3015
- switch (constraint.getKind ()) {
3016
- case AvailabilityConstraint::Kind::AlwaysUnavailable :
3017
- case AvailabilityConstraint::Kind::IntroducedInNewerVersion :
3015
+ switch (constraint.getReason ()) {
3016
+ case AvailabilityConstraint::Reason::UnconditionallyUnavailable :
3017
+ case AvailabilityConstraint::Reason::IntroducedInLaterVersion :
3018
3018
return false ;
3019
- case AvailabilityConstraint::Kind::RequiresVersion :
3020
- case AvailabilityConstraint::Kind ::Obsoleted:
3019
+ case AvailabilityConstraint::Reason::IntroducedInLaterDynamicVersion :
3020
+ case AvailabilityConstraint::Reason ::Obsoleted:
3021
3021
return true ;
3022
3022
}
3023
3023
}
@@ -3061,24 +3061,24 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
3061
3061
.limitBehaviorWithPreconcurrency (behavior, preconcurrency)
3062
3062
.warnUntilSwiftVersionIf (warnIfConformanceUnavailablePreSwift6, 6 );
3063
3063
3064
- switch (constraint.getKind ()) {
3065
- case AvailabilityConstraint::Kind::AlwaysUnavailable :
3064
+ switch (constraint.getReason ()) {
3065
+ case AvailabilityConstraint::Reason::UnconditionallyUnavailable :
3066
3066
diags
3067
3067
.diagnose (ext, diag::conformance_availability_marked_unavailable, type,
3068
3068
proto)
3069
3069
.highlight (attr.getParsedAttr ()->getRange ());
3070
3070
break ;
3071
- case AvailabilityConstraint::Kind::RequiresVersion :
3071
+ case AvailabilityConstraint::Reason::IntroducedInLaterVersion :
3072
3072
diags.diagnose (ext, diag::conformance_availability_introduced_in_version,
3073
3073
type, proto, versionedPlatform, *attr.getIntroduced ());
3074
3074
break ;
3075
- case AvailabilityConstraint::Kind ::Obsoleted:
3075
+ case AvailabilityConstraint::Reason ::Obsoleted:
3076
3076
diags
3077
3077
.diagnose (ext, diag::conformance_availability_obsoleted, type, proto,
3078
3078
versionedPlatform, *attr.getObsoleted ())
3079
3079
.highlight (attr.getParsedAttr ()->getRange ());
3080
3080
break ;
3081
- case AvailabilityConstraint::Kind::IntroducedInNewerVersion :
3081
+ case AvailabilityConstraint::Reason::IntroducedInLaterDynamicVersion :
3082
3082
llvm_unreachable (" unexpected constraint" );
3083
3083
}
3084
3084
return true ;
@@ -3107,20 +3107,21 @@ swift::getUnsatisfiedAvailabilityConstraint(
3107
3107
if ((attr->isSwiftLanguageModeSpecific () ||
3108
3108
attr->isPackageDescriptionVersionSpecific ()) &&
3109
3109
attr->getIntroduced ().has_value ())
3110
- return AvailabilityConstraint::forRequiresVersion (*attr);
3110
+ return AvailabilityConstraint::introducedInLaterVersion (*attr);
3111
3111
3112
- return AvailabilityConstraint::forAlwaysUnavailable (*attr);
3112
+ return AvailabilityConstraint::unconditionallyUnavailable (*attr);
3113
3113
3114
3114
case AvailableVersionComparison::Obsoleted:
3115
- return AvailabilityConstraint::forObsoleted (*attr);
3115
+ return AvailabilityConstraint::obsoleted (*attr);
3116
3116
}
3117
3117
}
3118
3118
3119
3119
// Check whether the declaration is available in a newer platform version.
3120
3120
if (auto rangeAttr = decl->getAvailableAttrForPlatformIntroduction ()) {
3121
3121
auto range = rangeAttr->getIntroducedRange (ctx);
3122
3122
if (!availabilityContext.getPlatformRange ().isContainedIn (range))
3123
- return AvailabilityConstraint::forIntroducedInNewerVersion (*rangeAttr);
3123
+ return AvailabilityConstraint::introducedInLaterDynamicVersion (
3124
+ *rangeAttr);
3124
3125
}
3125
3126
3126
3127
return std::nullopt;
@@ -3526,24 +3527,24 @@ bool diagnoseExplicitUnavailability(
3526
3527
}
3527
3528
3528
3529
auto sourceRange = Attr.getParsedAttr ()->getRange ();
3529
- switch (constraint.getKind ()) {
3530
- case AvailabilityConstraint::Kind::AlwaysUnavailable :
3530
+ switch (constraint.getReason ()) {
3531
+ case AvailabilityConstraint::Reason::UnconditionallyUnavailable :
3531
3532
diags.diagnose (D, diag::availability_marked_unavailable, D)
3532
3533
.highlight (sourceRange);
3533
3534
break ;
3534
- case AvailabilityConstraint::Kind::RequiresVersion :
3535
+ case AvailabilityConstraint::Reason::IntroducedInLaterVersion :
3535
3536
diags
3536
3537
.diagnose (D, diag::availability_introduced_in_version, D,
3537
3538
versionedPlatform, *Attr.getIntroduced ())
3538
3539
.highlight (sourceRange);
3539
3540
break ;
3540
- case AvailabilityConstraint::Kind ::Obsoleted:
3541
+ case AvailabilityConstraint::Reason ::Obsoleted:
3541
3542
diags
3542
3543
.diagnose (D, diag::availability_obsoleted, D, versionedPlatform,
3543
3544
*Attr.getObsoleted ())
3544
3545
.highlight (sourceRange);
3545
3546
break ;
3546
- case AvailabilityConstraint::Kind::IntroducedInNewerVersion :
3547
+ case AvailabilityConstraint::Reason::IntroducedInLaterDynamicVersion :
3547
3548
llvm_unreachable (" unexpected constraint" );
3548
3549
break ;
3549
3550
}
0 commit comments