Skip to content

Commit b109997

Browse files
committed
Sema: Adopt getAvailabilityConstraintsForDecl().
Replaces `getUnsatisfiedAvailabilityConstraint()`. NFC.
1 parent 8d01362 commit b109997

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/Decl.h"
2425
#include "swift/AST/Expr.h"
2526
#include "swift/AST/ParameterList.h"
@@ -241,8 +242,8 @@ checkAvailability(const EnumElementDecl *elt,
241242
AvailabilityContext availabilityContext,
242243
std::optional<RuntimeVersionCheck> &versionCheck) {
243244
auto &C = elt->getASTContext();
244-
auto constraint =
245-
getUnsatisfiedAvailabilityConstraint(elt, availabilityContext);
245+
auto constraint = getAvailabilityConstraintsForDecl(elt, availabilityContext)
246+
.getPrimaryConstraint();
246247

247248
// Is it always available?
248249
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"
@@ -2955,7 +2956,8 @@ void swift::diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
29552956
// recomputing it.
29562957
ExportContext where = ExportContext::forDeclSignature(override, nullptr);
29572958
auto constraint =
2958-
getUnsatisfiedAvailabilityConstraint(base, where.getAvailability());
2959+
getAvailabilityConstraintsForDecl(base, where.getAvailability())
2960+
.getPrimaryConstraint();
29592961
if (!constraint)
29602962
return;
29612963

@@ -3084,20 +3086,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
30843086
return true;
30853087
}
30863088

3087-
std::optional<AvailabilityConstraint>
3088-
swift::getUnsatisfiedAvailabilityConstraint(
3089-
const Decl *decl, AvailabilityContext availabilityContext) {
3090-
auto constraints =
3091-
swift::getAvailabilityConstraintsForDecl(decl, availabilityContext);
3092-
return constraints.getPrimaryConstraint();
3093-
}
3094-
30953089
std::optional<AvailabilityConstraint>
30963090
swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl,
30973091
const DeclContext *referenceDC,
30983092
SourceLoc referenceLoc) {
3099-
return getUnsatisfiedAvailabilityConstraint(
3100-
decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC));
3093+
return getAvailabilityConstraintsForDecl(
3094+
decl,
3095+
TypeChecker::availabilityAtLocation(referenceLoc, referenceDC))
3096+
.getPrimaryConstraint();
31013097
}
31023098

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

41334129
auto constraint =
4134-
getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability());
4130+
getAvailabilityConstraintsForDecl(D, Where.getAvailability())
4131+
.getPrimaryConstraint();
41354132

41364133
if (constraint) {
41374134
if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags))
@@ -4652,7 +4649,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc,
46524649
}
46534650

46544651
auto constraint =
4655-
getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability());
4652+
getAvailabilityConstraintsForDecl(ext, where.getAvailability())
4653+
.getPrimaryConstraint();
46564654
if (constraint) {
46574655
if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where,
46584656
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)