|
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"
|
@@ -2956,7 +2957,8 @@ void swift::diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
|
2956 | 2957 | // recomputing it.
|
2957 | 2958 | ExportContext where = ExportContext::forDeclSignature(override, nullptr);
|
2958 | 2959 | auto constraint =
|
2959 |
| - getUnsatisfiedAvailabilityConstraint(base, where.getAvailability()); |
| 2960 | + getAvailabilityConstraintsForDecl(base, where.getAvailability()) |
| 2961 | + .getPrimaryConstraint(); |
2960 | 2962 | if (!constraint)
|
2961 | 2963 | return;
|
2962 | 2964 |
|
@@ -3085,20 +3087,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
|
3085 | 3087 | return true;
|
3086 | 3088 | }
|
3087 | 3089 |
|
3088 |
| -std::optional<AvailabilityConstraint> |
3089 |
| -swift::getUnsatisfiedAvailabilityConstraint( |
3090 |
| - const Decl *decl, AvailabilityContext availabilityContext) { |
3091 |
| - auto constraints = |
3092 |
| - swift::getAvailabilityConstraintsForDecl(decl, availabilityContext); |
3093 |
| - return constraints.getPrimaryConstraint(); |
3094 |
| -} |
3095 |
| - |
3096 | 3090 | std::optional<AvailabilityConstraint>
|
3097 | 3091 | swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl,
|
3098 | 3092 | const DeclContext *referenceDC,
|
3099 | 3093 | SourceLoc referenceLoc) {
|
3100 |
| - return getUnsatisfiedAvailabilityConstraint( |
3101 |
| - decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC)); |
| 3094 | + return getAvailabilityConstraintsForDecl( |
| 3095 | + decl, |
| 3096 | + TypeChecker::availabilityAtLocation(referenceLoc, referenceDC)) |
| 3097 | + .getPrimaryConstraint(); |
3102 | 3098 | }
|
3103 | 3099 |
|
3104 | 3100 | /// Check if this is a subscript declaration inside String or
|
@@ -4132,7 +4128,8 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R,
|
4132 | 4128 | auto &ctx = DC->getASTContext();
|
4133 | 4129 |
|
4134 | 4130 | auto constraint =
|
4135 |
| - getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability()); |
| 4131 | + getAvailabilityConstraintsForDecl(D, Where.getAvailability()) |
| 4132 | + .getPrimaryConstraint(); |
4136 | 4133 |
|
4137 | 4134 | if (constraint) {
|
4138 | 4135 | if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags))
|
@@ -4653,7 +4650,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc,
|
4653 | 4650 | }
|
4654 | 4651 |
|
4655 | 4652 | auto constraint =
|
4656 |
| - getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability()); |
| 4653 | + getAvailabilityConstraintsForDecl(ext, where.getAvailability()) |
| 4654 | + .getPrimaryConstraint(); |
4657 | 4655 | if (constraint) {
|
4658 | 4656 | if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where,
|
4659 | 4657 | warnIfConformanceUnavailablePreSwift6,
|
|
0 commit comments