|
22 | 22 | #include "TypeCheckUnsafe.h"
|
23 | 23 | #include "TypeChecker.h"
|
24 | 24 | #include "swift/AST/ASTWalker.h"
|
| 25 | +#include "swift/AST/AvailabilityConstraint.h" |
25 | 26 | #include "swift/AST/AvailabilityDomain.h"
|
26 | 27 | #include "swift/AST/AvailabilityInference.h"
|
27 | 28 | #include "swift/AST/AvailabilityScope.h"
|
@@ -2949,7 +2950,8 @@ void swift::diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
|
2949 | 2950 | // recomputing it.
|
2950 | 2951 | ExportContext where = ExportContext::forDeclSignature(override, nullptr);
|
2951 | 2952 | auto constraint =
|
2952 |
| - getUnsatisfiedAvailabilityConstraint(base, where.getAvailability()); |
| 2953 | + getAvailabilityConstraintsForDecl(base, where.getAvailability()) |
| 2954 | + .getPrimaryConstraint(); |
2953 | 2955 | if (!constraint)
|
2954 | 2956 | return;
|
2955 | 2957 |
|
@@ -3078,20 +3080,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
|
3078 | 3080 | return true;
|
3079 | 3081 | }
|
3080 | 3082 |
|
3081 |
| -std::optional<AvailabilityConstraint> |
3082 |
| -swift::getUnsatisfiedAvailabilityConstraint( |
3083 |
| - const Decl *decl, AvailabilityContext availabilityContext) { |
3084 |
| - auto constraints = |
3085 |
| - swift::getAvailabilityConstraintsForDecl(decl, availabilityContext); |
3086 |
| - return constraints.getPrimaryConstraint(); |
3087 |
| -} |
3088 |
| - |
3089 | 3083 | std::optional<AvailabilityConstraint>
|
3090 | 3084 | swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl,
|
3091 | 3085 | const DeclContext *referenceDC,
|
3092 | 3086 | SourceLoc referenceLoc) {
|
3093 |
| - return getUnsatisfiedAvailabilityConstraint( |
3094 |
| - decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC)); |
| 3087 | + return getAvailabilityConstraintsForDecl( |
| 3088 | + decl, |
| 3089 | + TypeChecker::availabilityAtLocation(referenceLoc, referenceDC)) |
| 3090 | + .getPrimaryConstraint(); |
3095 | 3091 | }
|
3096 | 3092 |
|
3097 | 3093 | /// Check if this is a subscript declaration inside String or
|
@@ -4125,7 +4121,8 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R,
|
4125 | 4121 | auto &ctx = DC->getASTContext();
|
4126 | 4122 |
|
4127 | 4123 | auto constraint =
|
4128 |
| - getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability()); |
| 4124 | + getAvailabilityConstraintsForDecl(D, Where.getAvailability()) |
| 4125 | + .getPrimaryConstraint(); |
4129 | 4126 |
|
4130 | 4127 | if (constraint) {
|
4131 | 4128 | if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags))
|
@@ -4646,7 +4643,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc,
|
4646 | 4643 | }
|
4647 | 4644 |
|
4648 | 4645 | auto constraint =
|
4649 |
| - getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability()); |
| 4646 | + getAvailabilityConstraintsForDecl(ext, where.getAvailability()) |
| 4647 | + .getPrimaryConstraint(); |
4650 | 4648 | if (constraint) {
|
4651 | 4649 | if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where,
|
4652 | 4650 | warnIfConformanceUnavailablePreSwift6,
|
|
0 commit comments