Skip to content

Commit 14f9038

Browse files
committed
Sema: Adopt getAvailabilityConstraintsForDecl().
Replaces `getUnsatisfiedAvailabilityConstraint()`. NFC.
1 parent 7a24dff commit 14f9038

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"
@@ -2949,7 +2950,8 @@ void swift::diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
29492950
// recomputing it.
29502951
ExportContext where = ExportContext::forDeclSignature(override, nullptr);
29512952
auto constraint =
2952-
getUnsatisfiedAvailabilityConstraint(base, where.getAvailability());
2953+
getAvailabilityConstraintsForDecl(base, where.getAvailability())
2954+
.getPrimaryConstraint();
29532955
if (!constraint)
29542956
return;
29552957

@@ -3078,20 +3080,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
30783080
return true;
30793081
}
30803082

3081-
std::optional<AvailabilityConstraint>
3082-
swift::getUnsatisfiedAvailabilityConstraint(
3083-
const Decl *decl, AvailabilityContext availabilityContext) {
3084-
auto constraints =
3085-
swift::getAvailabilityConstraintsForDecl(decl, availabilityContext);
3086-
return constraints.getPrimaryConstraint();
3087-
}
3088-
30893083
std::optional<AvailabilityConstraint>
30903084
swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl,
30913085
const DeclContext *referenceDC,
30923086
SourceLoc referenceLoc) {
3093-
return getUnsatisfiedAvailabilityConstraint(
3094-
decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC));
3087+
return getAvailabilityConstraintsForDecl(
3088+
decl,
3089+
TypeChecker::availabilityAtLocation(referenceLoc, referenceDC))
3090+
.getPrimaryConstraint();
30953091
}
30963092

30973093
/// Check if this is a subscript declaration inside String or
@@ -4125,7 +4121,8 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R,
41254121
auto &ctx = DC->getASTContext();
41264122

41274123
auto constraint =
4128-
getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability());
4124+
getAvailabilityConstraintsForDecl(D, Where.getAvailability())
4125+
.getPrimaryConstraint();
41294126

41304127
if (constraint) {
41314128
if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags))
@@ -4646,7 +4643,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc,
46464643
}
46474644

46484645
auto constraint =
4649-
getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability());
4646+
getAvailabilityConstraintsForDecl(ext, where.getAvailability())
4647+
.getPrimaryConstraint();
46504648
if (constraint) {
46514649
if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where,
46524650
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)