diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt index b409a9a8225..31daefdd3bb 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSupertypesResolution.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.createImportingScopes import org.jetbrains.kotlin.fir.scopes.impl.FirMemberTypeParameterScope import org.jetbrains.kotlin.fir.scopes.impl.nestedClassifierScope +import org.jetbrains.kotlin.fir.scopes.impl.wrapNestedClassifierScopeWithSubstitutionForSuperType import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef @@ -145,10 +146,11 @@ private fun createScopesForNestedClasses( mutableListOf().apply { lookupSuperTypes( klass, - lookupInterfaces = false, deep = true, useSiteSession = session, + lookupInterfaces = false, deep = true, substituteTypes = true, useSiteSession = session, supertypeSupplier = supertypeComputationSession.supertypesSupplier ).asReversed().mapNotNullTo(this) { session.getNestedClassifierScope(it.lookupTag) + ?.wrapNestedClassifierScopeWithSubstitutionForSuperType(it, session) } addIfNotNull(klass.typeParametersScope()) val companionObjects = klass.declarations.filterIsInstance().filter { it.isCompanion }