diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaScopeProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaScopeProvider.kt index ae679710073..53415d1054c 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaScopeProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaScopeProvider.kt @@ -88,7 +88,9 @@ object JavaScopeProvider : FirScopeProvider() { if (regularClass.isThereLoopInSupertypes(useSiteSession)) listOf(StandardClassIds.Any.constructClassLikeType(emptyArray(), isNullable = false)) else - lookupSuperTypes(regularClass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession) + lookupSuperTypes( + regularClass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession, substituteTypes = true + ) val superTypeScopes = superTypes.mapNotNull { it.scopeForSupertype(useSiteSession, scopeSession, subClass = regularClass) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt index f08320f8362..6cebf2cf6fe 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/SupertypeUtils.kt @@ -49,8 +49,8 @@ fun lookupSuperTypes( lookupInterfaces: Boolean, deep: Boolean, useSiteSession: FirSession, + substituteTypes: Boolean, supertypeSupplier: SupertypeSupplier = SupertypeSupplier.Default, - substituteTypes: Boolean = false ): List { return SmartList().also { klass.symbol.collectSuperTypes(it, SmartSet.create(), deep, lookupInterfaces, substituteTypes, useSiteSession, supertypeSupplier) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt index 22073e7b95a..627248b2209 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/FirKotlinScopeProvider.kt @@ -51,10 +51,11 @@ class FirKotlinScopeProvider( } - val scopes = lookupSuperTypes(klass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession) - .mapNotNull { useSiteSuperType -> - useSiteSuperType.scopeForSupertype(useSiteSession, scopeSession, klass) - } + val scopes = lookupSuperTypes( + klass, lookupInterfaces = true, deep = false, useSiteSession = useSiteSession, substituteTypes = true + ).mapNotNull { useSiteSuperType -> + useSiteSuperType.scopeForSupertype(useSiteSession, scopeSession, klass) + } FirClassUseSiteMemberScope( useSiteSession, FirTypeIntersectionScope.prepareIntersectionScope(