Skip to content

Commit 6f1381c

Browse files
committed
Sema: Adopt getAvailabilityConstraintsForDecl().
Replaces `getUnsatisfiedAvailabilityConstraint()`. NFC.
1 parent bd03d47 commit 6f1381c

File tree

3 files changed

+14
-23
lines changed

3 files changed

+14
-23
lines changed

lib/Sema/DerivedConformanceRawRepresentable.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "TypeCheckAvailability.h"
2121
#include "TypeCheckDecl.h"
2222
#include "TypeChecker.h"
23+
#include "swift/AST/AvailabilityConstraint.h"
2324
#include "swift/AST/AvailabilitySpec.h"
2425
#include "swift/AST/Decl.h"
2526
#include "swift/AST/Expr.h"
@@ -240,8 +241,8 @@ checkAvailability(const EnumElementDecl *elt,
240241
AvailabilityContext availabilityContext,
241242
std::optional<RuntimeVersionCheck> &versionCheck) {
242243
auto &C = elt->getASTContext();
243-
auto constraint =
244-
getUnsatisfiedAvailabilityConstraint(elt, availabilityContext);
244+
auto constraint = getAvailabilityConstraintsForDecl(elt, availabilityContext)
245+
.getPrimaryConstraint();
245246

246247
// Is it always available?
247248
if (!constraint)

lib/Sema/TypeCheckAvailability.cpp

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "TypeCheckUnsafe.h"
2323
#include "TypeChecker.h"
2424
#include "swift/AST/ASTWalker.h"
25+
#include "swift/AST/AvailabilityConstraint.h"
2526
#include "swift/AST/AvailabilityDomain.h"
2627
#include "swift/AST/AvailabilityInference.h"
2728
#include "swift/AST/AvailabilityScope.h"
@@ -2956,7 +2957,8 @@ void swift::diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
29562957
// recomputing it.
29572958
ExportContext where = ExportContext::forDeclSignature(override, nullptr);
29582959
auto constraint =
2959-
getUnsatisfiedAvailabilityConstraint(base, where.getAvailability());
2960+
getAvailabilityConstraintsForDecl(base, where.getAvailability())
2961+
.getPrimaryConstraint();
29602962
if (!constraint)
29612963
return;
29622964

@@ -3085,20 +3087,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
30853087
return true;
30863088
}
30873089

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-
30963090
std::optional<AvailabilityConstraint>
30973091
swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl,
30983092
const DeclContext *referenceDC,
30993093
SourceLoc referenceLoc) {
3100-
return getUnsatisfiedAvailabilityConstraint(
3101-
decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC));
3094+
return getAvailabilityConstraintsForDecl(
3095+
decl,
3096+
TypeChecker::availabilityAtLocation(referenceLoc, referenceDC))
3097+
.getPrimaryConstraint();
31023098
}
31033099

31043100
/// Check if this is a subscript declaration inside String or
@@ -4132,7 +4128,8 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R,
41324128
auto &ctx = DC->getASTContext();
41334129

41344130
auto constraint =
4135-
getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability());
4131+
getAvailabilityConstraintsForDecl(D, Where.getAvailability())
4132+
.getPrimaryConstraint();
41364133

41374134
if (constraint) {
41384135
if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags))
@@ -4653,7 +4650,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc,
46534650
}
46544651

46554652
auto constraint =
4656-
getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability());
4653+
getAvailabilityConstraintsForDecl(ext, where.getAvailability())
4654+
.getPrimaryConstraint();
46574655
if (constraint) {
46584656
if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where,
46594657
warnIfConformanceUnavailablePreSwift6,

lib/Sema/TypeCheckAvailability.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -250,14 +250,6 @@ void diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
250250
const ValueDecl *base,
251251
SemanticAvailableAttr attr);
252252

253-
/// Checks whether a declaration should be considered unavailable when referred
254-
/// to in the given declaration context and availability context and, if so,
255-
/// returns a result that describes the unsatisfied constraint.
256-
/// Returns `std::nullopt` if the declaration is available.
257-
std::optional<AvailabilityConstraint>
258-
getUnsatisfiedAvailabilityConstraint(const Decl *decl,
259-
AvailabilityContext availabilityContext);
260-
261253
/// Checks whether a declaration should be considered unavailable when referred
262254
/// to at the given source location in the given decl context and, if so,
263255
/// returns a result that describes the unsatisfied constraint.

0 commit comments

Comments
 (0)