diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt index f035942d10d..3330138fa2a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt @@ -28,7 +28,7 @@ abstract class FirAbstractPhaseTransformer( open val AbstractFirBasedSymbol.phasedFir: D where D : FirDeclaration, D : FirSymbolOwner get() { - val requiredPhase = transformerPhase.prev + val requiredPhase = transformerPhase.requiredToLaunch return phasedFir(session, requiredPhase) } 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 34d276ad79e..beb3cd235cf 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 @@ -35,7 +35,7 @@ abstract class FirAbstractBodyResolveTransformer(phase: FirResolvePhase) : FirAb final override val AbstractFirBasedSymbol.phasedFir: D where D : FirDeclaration, D : FirSymbolOwner get() { - val requiredPhase = transformerPhase.prev + val requiredPhase = transformerPhase.requiredToLaunch return phasedFir(session, requiredPhase) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformerAdapters.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformerAdapters.kt index cfdeb7cad99..29730f39ddc 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformerAdapters.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirBodyResolveTransformerAdapters.kt @@ -73,10 +73,9 @@ class FirBodyResolveTransformerAdapter : FirTransformer() { } override fun transformFile(file: FirFile, data: Nothing?): CompositeTransformResult { - // Despite of real phase is EXPRESSIONS, we state IMPLICIT_TYPES here, because DECLARATIONS previous phase is OK for us val transformer = FirBodyResolveTransformer( file.session, - phase = FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, + phase = FirResolvePhase.BODY_RESOLVE, implicitTypeOnly = false, scopeSession = scopeSession ) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt index f43c2d8d756..355171fa6e6 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirResolvePhase.kt @@ -15,7 +15,7 @@ enum class FirResolvePhase { IMPLICIT_TYPES_BODY_RESOLVE, BODY_RESOLVE; - val prev: FirResolvePhase get() = values()[ordinal - 1] + val requiredToLaunch: FirResolvePhase get() = if (this == BODY_RESOLVE) STATUS else values()[ordinal - 1] val next: FirResolvePhase get() = values()[ordinal + 1]