Skip to content

Commit 32bcbae

Browse files
committed
Sema: Refactor some code in conformance checker for use in default witness matching
NFC for now.
1 parent acca688 commit 32bcbae

File tree

3 files changed

+244
-131
lines changed

3 files changed

+244
-131
lines changed

lib/Sema/TypeCheckDecl.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5909,17 +5909,15 @@ bool TypeChecker::isAvailabilitySafeForOverride(ValueDecl *override,
59095909
}
59105910

59115911
bool TypeChecker::isAvailabilitySafeForConformance(
5912-
ValueDecl *witness, ValueDecl *requirement,
5913-
NormalProtocolConformance *conformance,
5914-
AvailabilityContext &requirementInfo) {
5915-
DeclContext *DC = conformance->getDeclContext();
5912+
ProtocolDecl *proto, ValueDecl *requirement, ValueDecl *witness,
5913+
DeclContext *dc, AvailabilityContext &requirementInfo) {
59165914

59175915
// We assume conformances in
59185916
// non-SourceFiles have already been checked for availability.
5919-
if (!DC->getParentSourceFile())
5917+
if (!dc->getParentSourceFile())
59205918
return true;
59215919

5922-
NominalTypeDecl *conformingDecl = DC->getAsNominalTypeOrNominalTypeExtensionContext();
5920+
NominalTypeDecl *conformingDecl = dc->getAsNominalTypeOrNominalTypeExtensionContext();
59235921
assert(conformingDecl && "Must have conforming declaration");
59245922

59255923
// Make sure that any access of the witness through the protocol
@@ -5944,10 +5942,8 @@ bool TypeChecker::isAvailabilitySafeForConformance(
59445942
witnessInfo.constrainWith(infoForConformingDecl);
59455943
requirementInfo.constrainWith(infoForConformingDecl);
59465944

5947-
ProtocolDecl *protocolDecl = conformance->getProtocol();
59485945
AvailabilityContext infoForProtocolDecl =
5949-
overApproximateAvailabilityAtLocation(protocolDecl->getLoc(),
5950-
protocolDecl);
5946+
overApproximateAvailabilityAtLocation(proto->getLoc(), proto);
59515947

59525948
witnessInfo.constrainWith(infoForProtocolDecl);
59535949
requirementInfo.constrainWith(infoForProtocolDecl);

0 commit comments

Comments
 (0)