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:
committed by
Vasily Levchenko
parent
f4f8763f4d
commit
306fd2ae07
+2
-4
@@ -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",
|
||||
|
||||
+2
-3
@@ -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()}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user