mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
AST: Remove no longer necessary checks of getSuperclassForDecl() result
This commit is contained in:
@@ -862,8 +862,6 @@ DeclContext *ConformanceLookupTable::getConformingContext(
|
||||
Type classTy = nominal->getDeclaredInterfaceType();
|
||||
do {
|
||||
Type superclassTy = classTy->getSuperclassForDecl(superclassDecl);
|
||||
if (superclassTy->is<ErrorType>())
|
||||
return nullptr;
|
||||
auto inheritedConformance = swift::lookupConformance(
|
||||
superclassTy, protocol, /*allowMissing=*/false);
|
||||
if (inheritedConformance)
|
||||
@@ -936,8 +934,6 @@ ConformanceLookupTable::getConformance(NominalTypeDecl *nominal,
|
||||
// declared.
|
||||
auto *conformingClass = cast<ClassDecl>(conformingNominal);
|
||||
Type superclassTy = type->getSuperclassForDecl(conformingClass);
|
||||
if (superclassTy->is<ErrorType>())
|
||||
return nullptr;
|
||||
|
||||
// Look up the inherited conformance.
|
||||
auto inheritedConformance = swift::lookupConformance(
|
||||
|
||||
@@ -1146,12 +1146,7 @@ static Expr *buildStorageReference(AccessorDecl *accessor,
|
||||
auto *baseClass = override->getDeclContext()->getSelfClassDecl();
|
||||
selfTypeForAccess = selfTypeForAccess->getSuperclassForDecl(baseClass);
|
||||
|
||||
// Error recovery path. We get an ErrorType here if getSuperclassForDecl()
|
||||
// fails (because, for instance, a generic parameter of a generic nominal
|
||||
// type cannot be resolved).
|
||||
if (!selfTypeForAccess->is<ErrorType>()) {
|
||||
subs = selfTypeForAccess->getContextSubstitutionMap(baseClass);
|
||||
}
|
||||
subs = selfTypeForAccess->getContextSubstitutionMap(baseClass);
|
||||
|
||||
storage = override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user