FIR: Store local class into scope before analyzing it

This commit is contained in:
Denis Zharkov
2020-03-24 16:02:47 +03:00
parent d869ae7826
commit 5584b206c0
@@ -271,13 +271,12 @@ class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransformer)
} }
override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult<FirStatement> { override fun transformRegularClass(regularClass: FirRegularClass, data: ResolutionMode): CompositeTransformResult<FirStatement> {
context.storeClass(regularClass)
if (regularClass.symbol.classId.isLocal && regularClass !in context.targetedLocalClasses) { if (regularClass.symbol.classId.isLocal && regularClass !in context.targetedLocalClasses) {
return regularClass.runAllPhasesForLocalClass(components, data).also { return regularClass.runAllPhasesForLocalClass(components, data).compose()
context.storeClass(it)
}.compose()
} }
context.storeClass(regularClass)
return withTypeParametersOf(regularClass) { return withTypeParametersOf(regularClass) {
val oldConstructorScope = primaryConstructorParametersScope val oldConstructorScope = primaryConstructorParametersScope
val oldContainingClass = containingClass val oldContainingClass = containingClass