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(
|
internal val lateinitPhase = makeKonanModuleOpPhase(
|
||||||
{ context, irModule ->
|
{ context, irModule ->
|
||||||
NullableFieldsForLateinitCreationLowering(context)
|
NullableFieldsForLateinitCreationLowering(context).lower(irModule)
|
||||||
.runPostfix(true).toFileLoweringPass().lower(irModule)
|
NullableFieldsDeclarationLowering(context).lower(irModule)
|
||||||
NullableFieldsDeclarationLowering(context)
|
|
||||||
.runPostfix(true).toFileLoweringPass().lower(irModule)
|
|
||||||
LateinitUsageLowering(context).lower(irModule)
|
LateinitUsageLowering(context).lower(irModule)
|
||||||
},
|
},
|
||||||
name = "Lateinit",
|
name = "Lateinit",
|
||||||
|
|||||||
+1
-2
@@ -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.LocalClassesExtractionFromInlineFunctionsLowering
|
||||||
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering
|
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineFunctionsLowering
|
||||||
import org.jetbrains.kotlin.backend.common.lower.inline.LocalClassesInInlineLambdasLowering
|
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.backend.konan.Context
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
import org.jetbrains.kotlin.ir.declarations.IrFunction
|
||||||
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
|
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) {
|
private fun DeclarationTransformer.lowerWithLocalDeclarations(function: IrFunction) {
|
||||||
if (runPostfix(true).transformFlat(function) != null)
|
if (transformFlat(function) != null)
|
||||||
error("Unexpected transformation of function ${function.dump()}")
|
error("Unexpected transformation of function ${function.dump()}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user