diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt index 15eb387baac..e73417271d3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt @@ -96,7 +96,7 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn override fun transformRegularClass(regularClass: FirRegularClass, data: Any?): CompositeTransformResult { return withScopeCleanup(scopes) { val type = regularClass.defaultType() - scopes.addIfNotNull(type.scope(session, ScopeSession())) + scopes.addIfNotNull(type.scope(session, scopeSession)) withLabelAndReceiverType(regularClass.name, regularClass, type) { super.transformRegularClass(regularClass, data) } @@ -142,6 +142,8 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn return result } + val scopeSession = ScopeSession() + val scopes = mutableListOf() private val localScopes = mutableListOf() @@ -271,7 +273,7 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn val receiverTypeRef = anonymousFunction.receiverTypeRef fun transform(): FirAnonymousFunction { return withScopeCleanup(scopes) { - scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe()?.scope(session, ScopeSession())) + scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe()?.scope(session, scopeSession)) val result = super.transformAnonymousFunction( anonymousFunction, @@ -602,7 +604,7 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn fun transform(): CompositeTransformResult { localScopes.lastOrNull()?.storeDeclaration(namedFunction) return withScopeCleanup(scopes) { - scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe()?.scope(session, ScopeSession())) + scopes.addIfNotNull(receiverTypeRef?.coneTypeSafe()?.scope(session, scopeSession)) val result = super.transformNamedFunction(namedFunction, namedFunction.returnTypeRef).single as FirNamedFunction