|
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 |
|
@@ -3077,20 +3079,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc, |
3077 | 3079 | return true; |
3078 | 3080 | } |
3079 | 3081 |
|
3080 | | -std::optional<AvailabilityConstraint> |
3081 | | -swift::getUnsatisfiedAvailabilityConstraint( |
3082 | | - const Decl *decl, AvailabilityContext availabilityContext) { |
3083 | | - auto constraints = |
3084 | | - swift::getAvailabilityConstraintsForDecl(decl, availabilityContext); |
3085 | | - return constraints.getPrimaryConstraint(); |
3086 | | -} |
3087 | | - |
3088 | 3082 | std::optional<AvailabilityConstraint> |
3089 | 3083 | swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl, |
3090 | 3084 | const DeclContext *referenceDC, |
3091 | 3085 | SourceLoc referenceLoc) { |
3092 | | - return getUnsatisfiedAvailabilityConstraint( |
3093 | | - decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC)); |
| 3086 | + return getAvailabilityConstraintsForDecl( |
| 3087 | + decl, |
| 3088 | + TypeChecker::availabilityAtLocation(referenceLoc, referenceDC)) |
| 3089 | + .getPrimaryConstraint(); |
3094 | 3090 | } |
3095 | 3091 |
|
3096 | 3092 | /// Check if this is a subscript declaration inside String or |
@@ -4158,7 +4154,8 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R, |
4158 | 4154 | auto &ctx = DC->getASTContext(); |
4159 | 4155 |
|
4160 | 4156 | auto constraint = |
4161 | | - getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability()); |
| 4157 | + getAvailabilityConstraintsForDecl(D, Where.getAvailability()) |
| 4158 | + .getPrimaryConstraint(); |
4162 | 4159 |
|
4163 | 4160 | if (constraint) { |
4164 | 4161 | if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags)) |
@@ -4679,7 +4676,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc, |
4679 | 4676 | } |
4680 | 4677 |
|
4681 | 4678 | auto constraint = |
4682 | | - getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability()); |
| 4679 | + getAvailabilityConstraintsForDecl(ext, where.getAvailability()) |
| 4680 | + .getPrimaryConstraint(); |
4683 | 4681 | if (constraint) { |
4684 | 4682 | if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where, |
4685 | 4683 | warnIfConformanceUnavailablePreSwift6, |
|
0 commit comments