diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractTreeTransformerWithSuperTypes.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractTreeTransformerWithSuperTypes.kt index 3f2f013edb2..ba88ad9c3e0 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractTreeTransformerWithSuperTypes.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractTreeTransformerWithSuperTypes.kt @@ -43,12 +43,12 @@ abstract class FirAbstractTreeTransformerWithSuperTypes( .asReversed().mapTo(towerScope.scopes) { nestedClassifierScope(it.lookupTag.classId, session) } + regularClass.addTypeParametersScope() val companionObjects = regularClass.declarations.filterIsInstance().filter { it.isCompanion } for (companionObject in companionObjects) { towerScope.scopes += nestedClassifierScope(companionObject) } towerScope.scopes += nestedClassifierScope(regularClass) - regularClass.addTypeParametersScope() transformElement(regularClass, data) } diff --git a/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt b/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt index fba40dcf1d3..63fa0053020 100644 --- a/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt +++ b/compiler/fir/resolve/testData/resolve/typeParameterVsNested.txt @@ -13,10 +13,10 @@ FILE: typeParameterVsNested.kt } - public abstract val x: R|T| - public get(): R|T| + public abstract val x: R|test/My.T| + public get(): R|test/My.T| - public abstract fun foo(arg: R|T|): R|kotlin/Unit| + public abstract fun foo(arg: R|test/My.T|): R|kotlin/Unit| public abstract val y: R|test/My.T| public get(): R|test/My.T| @@ -24,9 +24,9 @@ FILE: typeParameterVsNested.kt public abstract val z: R|test/My.T| public get(): R|test/My.T| - public final class Some : R|class error: Type parameter cannot be a super-type: T| { + public final class Some : R|test/My.T| { public constructor(): R|test/My.Some| { - super() + super() } }