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