FIR: mark declarations resolved to BODY_RESOLVE with BODY_RESOLVE phase in implicit body transformer
This commit is contained in:
+4
-2
@@ -14,13 +14,15 @@ import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||
import org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer
|
||||
|
||||
abstract class FirAbstractPhaseTransformer<D>(
|
||||
val transformerPhase: FirResolvePhase
|
||||
protected val baseTransformerPhase: FirResolvePhase
|
||||
) : FirDefaultTransformer<D>() {
|
||||
|
||||
open val transformerPhase get() = baseTransformerPhase
|
||||
|
||||
abstract val session: FirSession
|
||||
|
||||
init {
|
||||
assert(transformerPhase != FirResolvePhase.RAW_FIR) {
|
||||
assert(baseTransformerPhase != FirResolvePhase.RAW_FIR) {
|
||||
"Raw FIR building shouldn't be done in phase transformer"
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -38,6 +38,9 @@ abstract class FirAbstractBodyResolveTransformer(phase: FirResolvePhase) : FirAb
|
||||
abstract var implicitTypeOnly: Boolean
|
||||
internal set
|
||||
|
||||
override val transformerPhase: FirResolvePhase
|
||||
get() = if (implicitTypeOnly) baseTransformerPhase else FirResolvePhase.BODY_RESOLVE
|
||||
|
||||
final override val session: FirSession get() = components.session
|
||||
|
||||
protected inline fun <T> withLocalScopeCleanup(crossinline l: () -> T): T {
|
||||
|
||||
Reference in New Issue
Block a user