Skip to content

Commit f150bdd

Browse files
committed
Sema: Remove UnavailabilityReason::explicitlyWeaklyLinked()
This wasn't used for anything. We model weak linking differently these days.
1 parent 7b00d52 commit f150bdd

File tree

2 files changed

+3
-44
lines changed

2 files changed

+3
-44
lines changed

include/swift/AST/Availability.h

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -182,46 +182,19 @@ class VersionRange {
182182

183183
/// Records the reason a declaration is potentially unavailable.
184184
class UnavailabilityReason {
185-
public:
186-
enum class Kind {
187-
/// The declaration is potentially unavailable because it requires an OS
188-
/// version range that is not guaranteed by the minimum deployment
189-
/// target.
190-
RequiresOSVersionRange,
191-
192-
/// The declaration is potentially unavailable because it is explicitly
193-
/// weakly linked.
194-
ExplicitlyWeakLinked
195-
};
196-
197185
private:
198-
// A value of None indicates the declaration is potentially unavailable
199-
// because it is explicitly weak linked.
200-
Optional<VersionRange> RequiredDeploymentRange;
186+
VersionRange RequiredDeploymentRange;
201187

202-
UnavailabilityReason(const Optional<VersionRange> &RequiredDeploymentRange)
188+
explicit UnavailabilityReason(const VersionRange RequiredDeploymentRange)
203189
: RequiredDeploymentRange(RequiredDeploymentRange) {}
204190

205191
public:
206-
static UnavailabilityReason explicitlyWeaklyLinked() {
207-
return UnavailabilityReason(None);
208-
}
209-
210192
static UnavailabilityReason requiresVersionRange(const VersionRange Range) {
211193
return UnavailabilityReason(Range);
212194
}
213195

214-
Kind getReasonKind() const {
215-
if (RequiredDeploymentRange.hasValue()) {
216-
return Kind::RequiresOSVersionRange;
217-
} else {
218-
return Kind::ExplicitlyWeakLinked;
219-
}
220-
}
221-
222196
const VersionRange &getRequiredOSVersionRange() const {
223-
assert(getReasonKind() == Kind::RequiresOSVersionRange);
224-
return RequiredDeploymentRange.getValue();
197+
return RequiredDeploymentRange;
225198
}
226199
};
227200

lib/Sema/TypeCheckAvailability.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1563,13 +1563,6 @@ void TypeChecker::diagnosePotentialOpaqueTypeUnavailability(
15631563
const UnavailabilityReason &Reason) {
15641564
ASTContext &Context = ReferenceDC->getASTContext();
15651565

1566-
// We only emit diagnostics for API unavailability, not for explicitly
1567-
// weak-linked symbols.
1568-
if (Reason.getReasonKind() !=
1569-
UnavailabilityReason::Kind::RequiresOSVersionRange) {
1570-
return;
1571-
}
1572-
15731566
auto RequiredRange = Reason.getRequiredOSVersionRange();
15741567
{
15751568
auto Err =
@@ -1593,13 +1586,6 @@ void TypeChecker::diagnosePotentialUnavailability(
15931586
const UnavailabilityReason &Reason) {
15941587
ASTContext &Context = ReferenceDC->getASTContext();
15951588

1596-
// We only emit diagnostics for API unavailability, not for explicitly
1597-
// weak-linked symbols.
1598-
if (Reason.getReasonKind() !=
1599-
UnavailabilityReason::Kind::RequiresOSVersionRange) {
1600-
return;
1601-
}
1602-
16031589
auto RequiredRange = Reason.getRequiredOSVersionRange();
16041590
{
16051591
auto Err =

0 commit comments

Comments
 (0)