|
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