Skip to content

Commit 7d4ab8d

Browse files
committed
Sema: Adopt getAvailabilityConstraintsForDecl().
Replaces `getUnsatisfiedAvailabilityConstraint()`. NFC.
1 parent f677490 commit 7d4ab8d

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

@@ -3077,20 +3079,14 @@ bool diagnoseExplicitUnavailability(SourceLoc loc,
30773079
return true;
30783080
}
30793081

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-
30883082
std::optional<AvailabilityConstraint>
30893083
swift::getUnsatisfiedAvailabilityConstraint(const Decl *decl,
30903084
const DeclContext *referenceDC,
30913085
SourceLoc referenceLoc) {
3092-
return getUnsatisfiedAvailabilityConstraint(
3093-
decl, TypeChecker::availabilityAtLocation(referenceLoc, referenceDC));
3086+
return getAvailabilityConstraintsForDecl(
3087+
decl,
3088+
TypeChecker::availabilityAtLocation(referenceLoc, referenceDC))
3089+
.getPrimaryConstraint();
30943090
}
30953091

30963092
/// Check if this is a subscript declaration inside String or
@@ -4158,7 +4154,8 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R,
41584154
auto &ctx = DC->getASTContext();
41594155

41604156
auto constraint =
4161-
getUnsatisfiedAvailabilityConstraint(D, Where.getAvailability());
4157+
getAvailabilityConstraintsForDecl(D, Where.getAvailability())
4158+
.getPrimaryConstraint();
41624159

41634160
if (constraint) {
41644161
if (diagnoseExplicitUnavailability(D, R, *constraint, Where, call, Flags))
@@ -4679,7 +4676,8 @@ swift::diagnoseConformanceAvailability(SourceLoc loc,
46794676
}
46804677

46814678
auto constraint =
4682-
getUnsatisfiedAvailabilityConstraint(ext, where.getAvailability());
4679+
getAvailabilityConstraintsForDecl(ext, where.getAvailability())
4680+
.getPrimaryConstraint();
46834681
if (constraint) {
46844682
if (diagnoseExplicitUnavailability(loc, *constraint, rootConf, ext, where,
46854683
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)