[JS IR BE] Eliminate identical IrElements duplicates

This commit is contained in:
Svyatoslav Kuzmich
2018-11-19 16:48:15 +03:00
parent ba0f652e02
commit 2172a12df4
10 changed files with 97 additions and 90 deletions
@@ -19,10 +19,16 @@ import org.jetbrains.kotlin.ir.types.isUnit
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
class UnitMaterializationLowering(context: BackendContext): FileLoweringPass {
class UnitMaterializationLowering(context: BackendContext) : FileLoweringPass {
private val unitType = context.irBuiltIns.unitType
private val unitValue = IrGetObjectValueImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, unitType, unitType.classifierOrFail as IrClassSymbol)
private val unitValue
get() = IrGetObjectValueImpl(
UNDEFINED_OFFSET,
UNDEFINED_OFFSET,
unitType,
unitType.classifierOrFail as IrClassSymbol
)
override fun lower(irFile: IrFile) {
irFile.transformChildrenVoid(object : IrElementTransformerVoid() {