From 5584b206c0e7e07aa5b38c8ec152be53d1651cb0 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Tue, 24 Mar 2020 16:02:47 +0300 Subject: [PATCH] FIR: Store local class into scope before analyzing it --- .../body/resolve/FirDeclarationsResolveTransformer.kt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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 16ee44aa641..e6ce040e726 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 @@ -271,13 +271,12 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer) } override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult { + context.storeClass(regularClass) + if (regularClass.symbol.classId.isLocal && regularClass !in context.targetedLocalClasses) { - return regularClass.runAllPhasesForLocalClass(components, data).also { - context.storeClass(it) - }.compose() + return regularClass.runAllPhasesForLocalClass(components, data).compose() } - context.storeClass(regularClass) return withTypeParametersOf(regularClass) { val oldConstructorScope = primaryConstructorParametersScope val oldContainingClass = containingClass