From 306fd2ae074614d946dd3322da72ac74a64541bc Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 9 Oct 2020 21:42:10 +0200 Subject: [PATCH] IR: refactor DeclarationTransformer Do not create extra DeclarationTransformer and FileLoweringPass instances, instead inline all transformations to DeclarationTransformer.lower. (cherry picked from commit 7d0e643c92d1f42ed4ae8fc350da1c92d3e2b2ae) --- .../jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt | 6 ++---- .../backend/konan/lower/NativeInlineFunctionResolver.kt | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt index 549db0cccb4..6ddc583d3a0 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanLoweringPhases.kt @@ -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", diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt index 9a7e6c0dbc8..622a8cfe2c9 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt @@ -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()}") } -} \ No newline at end of file +}