diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer.kt index 6a4d87d9d70..3c3351ca518 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer.kt @@ -159,7 +159,8 @@ abstract class FirAbstractBodyResolveTransformer(phase: FirResolvePhase) : FirAb localScopes = localScopes.add(localScope) } - fun storeClass(klass: FirRegularClass) { + fun storeClassIfNotNested(klass: FirRegularClass) { + if (containerIfAny is FirClass<*>) return updateLastScope { storeClass(klass) } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index 5a50161ff61..db16f293928 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -317,7 +317,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor } override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult { - context.storeClass(regularClass) + context.storeClassIfNotNested(regularClass) if (regularClass.isLocal && regularClass !in context.targetedLocalClasses) { return regularClass.runAllPhasesForLocalClass(transformer, components, data).compose() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt index 26c2f176444..72e2d37c9a6 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt @@ -163,7 +163,7 @@ class FirContractResolveTransformer( override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult { regularClass.updatePhase() - context.storeClass(regularClass) + context.storeClassIfNotNested(regularClass) regularClass.transformCompanionObject(this, data) withTypeParametersOf(regularClass) { context.withContainer(regularClass) {