Skip to content

Commit a95891c

Browse files
committed
Sema: Rename checkDeclarationAvailability().
Type checker functions with the prefix "check" usually check some requirement and then diagnose it if it isn't satisfied. `checkDeclarationAvailability()` doesn't diagnose on its own, so it should be named differently.
1 parent d62a9cb commit a95891c

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

lib/Sema/ConstraintSystem.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4683,7 +4683,8 @@ bool ConstraintSystem::isDeclUnavailable(const Decl *D,
46834683
}
46844684

46854685
auto availabilityContext = TypeChecker::availabilityAtLocation(loc, DC);
4686-
return checkDeclarationAvailability(D, DC, availabilityContext).has_value();
4686+
return getUnmetDeclAvailabilityRequirement(D, DC, availabilityContext)
4687+
.has_value();
46874688
}
46884689

46894690
bool ConstraintSystem::isConformanceUnavailable(ProtocolConformanceRef conformance,

lib/Sema/TypeCheckAvailability.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3099,9 +3099,9 @@ bool diagnoseExplicitUnavailability(
30993099
}
31003100

31013101
std::optional<UnmetAvailabilityRequirement>
3102-
swift::checkDeclarationAvailability(const Decl *decl,
3103-
const DeclContext *declContext,
3104-
AvailabilityContext availabilityContext) {
3102+
swift::getUnmetDeclAvailabilityRequirement(
3103+
const Decl *decl, const DeclContext *declContext,
3104+
AvailabilityContext availabilityContext) {
31053105
auto &ctx = declContext->getASTContext();
31063106

31073107
// Generic parameters are always available.
@@ -3140,7 +3140,6 @@ swift::checkDeclarationAvailability(const Decl *decl,
31403140
return std::nullopt;
31413141
}
31423142

3143-
31443143
/// Check if this is a subscript declaration inside String or
31453144
/// Substring that returns String, and if so return true.
31463145
bool isSubscriptReturningString(const ValueDecl *D, ASTContext &Context) {
@@ -4153,7 +4152,7 @@ bool swift::diagnoseDeclAvailability(const ValueDecl *D, SourceRange R,
41534152
auto &ctx = DC->getASTContext();
41544153

41554154
auto unmetRequirement =
4156-
checkDeclarationAvailability(D, DC, Where.getAvailability());
4155+
getUnmetDeclAvailabilityRequirement(D, DC, Where.getAvailability());
41574156
auto requiredRange =
41584157
unmetRequirement
41594158
? unmetRequirement->getRequiredNewerAvailabilityRange(ctx)

lib/Sema/TypeCheckAvailability.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,9 @@ void diagnoseOverrideOfUnavailableDecl(ValueDecl *override,
316316
/// returns a result that describes the unmet availability requirements.
317317
/// Returns `std::nullopt` if the declaration is available.
318318
std::optional<UnmetAvailabilityRequirement>
319-
checkDeclarationAvailability(const Decl *decl, const DeclContext *declContext,
320-
AvailabilityContext availabilityContext);
319+
getUnmetDeclAvailabilityRequirement(const Decl *decl,
320+
const DeclContext *declContext,
321+
AvailabilityContext availabilityContext);
321322

322323
/// Diagnose uses of the runtime support of the given type, such as
323324
/// type metadata and dynamic casting.

lib/Sema/TypeCheckPattern.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ extractEnumElement(DeclContext *DC, SourceLoc UseLoc,
4141
const VarDecl *constant) {
4242
auto &ctx = DC->getASTContext();
4343
auto availabilityContext = TypeChecker::availabilityAtLocation(UseLoc, DC);
44-
if (auto unmetRequirement =
45-
checkDeclarationAvailability(constant, DC, availabilityContext)) {
44+
if (auto requirement = getUnmetDeclAvailabilityRequirement(
45+
constant, DC, availabilityContext)) {
4646
// Only diagnose explicit unavailability.
47-
if (!unmetRequirement->getRequiredNewerAvailabilityRange(ctx))
47+
if (!requirement->getRequiredNewerAvailabilityRange(ctx))
4848
diagnoseDeclAvailability(constant, UseLoc, nullptr,
4949
ExportContext::forFunctionBody(DC, UseLoc));
5050
}

0 commit comments

Comments
 (0)