IR: refactor DeclarationTransformer

Do not create extra DeclarationTransformer and FileLoweringPass
instances, instead inline all transformations to
DeclarationTransformer.lower.

(cherry picked from commit 7d0e643c92d1f42ed4ae8fc350da1c92d3e2b2ae)
This commit is contained in:
Alexander Udalov
2020-10-09 21:42:10 +02:00
committed by Vasily Levchenko
parent f4f8763f4d
commit 306fd2ae07
2 changed files with 4 additions and 7 deletions
@@ -92,10 +92,8 @@ internal val arrayConstructorPhase = makeKonanModuleLoweringPhase(
internal val lateinitPhase = makeKonanModuleOpPhase(
{ context, irModule ->
NullableFieldsForLateinitCreationLowering(context)
.runPostfix(true).toFileLoweringPass().lower(irModule)
NullableFieldsDeclarationLowering(context)
.runPostfix(true).toFileLoweringPass().lower(irModule)
NullableFieldsForLateinitCreationLowering(context).lower(irModule)
NullableFieldsDeclarationLowering(context).lower(irModule)
LateinitUsageLowering(context).lower(irModule)
},
name = "Lateinit",
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.backend.common.lower.inline.DefaultInlineFunctionRes
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesExtractionFromInlineFunctionsLowering
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering
import org.jetbrains.kotlin.backend.common.runPostfix
import org.jetbrains.kotlin.backend.konan.Context
import org.jetbrains.kotlin.ir.declarations.IrFunction
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
@@ -50,7 +49,7 @@ internal class NativeInlineFunctionResolver(override val context: Context) : Def
}
private fun DeclarationTransformer.lowerWithLocalDeclarations(function: IrFunction) {
if (runPostfix(true).transformFlat(function) != null)
if (transformFlat(function) != null)
error("Unexpected transformation of function ${function.dump()}")
}
}
}