[FIR] Ensure class resolve phase in status resolve

This commit is contained in:
Dmitriy Novozhilov
2020-10-20 16:11:37 +03:00
parent 699dd54be9
commit 6550bd09b1
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.dfa.symbol
import org.jetbrains.kotlin.fir.resolve.firProvider import org.jetbrains.kotlin.fir.resolve.firProvider
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.LocalClassesNavigationInfo import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.LocalClassesNavigationInfo
@@ -147,6 +148,7 @@ private class FirDesignatedStatusResolveTransformer(
data: FirResolvedDeclarationStatus? data: FirResolvedDeclarationStatus?
): CompositeTransformResult<FirStatement> { ): CompositeTransformResult<FirStatement> {
if (shouldSkipClass(regularClass)) return regularClass.compose() if (shouldSkipClass(regularClass)) return regularClass.compose()
regularClass.symbol.ensureResolved(FirResolvePhase.TYPES, session)
val classLocated = this.classLocated val classLocated = this.classLocated
/* /*
* In designated status resolve we should resolve status only of target class and it's members * In designated status resolve we should resolve status only of target class and it's members