From ede3a34baa3191f6856827c4152c600760f101df Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Tue, 26 Jun 2018 13:01:13 +0300 Subject: [PATCH] Temporary fix for IR2CFG: use originalKotlinType --- .../kotlin/ir2cfg/generators/FunctionGenerator.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/generators/FunctionGenerator.kt b/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/generators/FunctionGenerator.kt index 47815d49d07..0f3d0987d87 100644 --- a/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/generators/FunctionGenerator.kt +++ b/compiler/ir/ir.ir2cfg/src/org/jetbrains/kotlin/ir2cfg/generators/FunctionGenerator.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.declarations.IrFunction import org.jetbrains.kotlin.ir.declarations.IrVariable import org.jetbrains.kotlin.ir.expressions.* +import org.jetbrains.kotlin.ir.types.impl.originalKotlinType import org.jetbrains.kotlin.ir.util.dump import org.jetbrains.kotlin.ir.visitors.IrElementVisitor import org.jetbrains.kotlin.ir2cfg.graph.ControlFlowGraph @@ -66,7 +67,8 @@ class FunctionGenerator(val function: IrFunction) { return result } - private fun IrElement?.isNothing() = this is IrExpression && KotlinBuiltIns.isNothing(type) + private fun IrElement?.isNothing() = + this is IrExpression && KotlinBuiltIns.isNothing(type.originalKotlinType!!) // TODO override fun visitBlockBody(body: IrBlockBody, data: Boolean): IrStatement? { return body.process() @@ -81,8 +83,7 @@ class FunctionGenerator(val function: IrFunction) { return if (data) { builder.add(declaration) declaration - } - else null + } else null } override fun visitReturn(expression: IrReturn, data: Boolean): IrStatement? { @@ -121,8 +122,7 @@ class FunctionGenerator(val function: IrFunction) { builder.move(branch.condition) if (!result.process().isNothing()) { builder.jump(whenExit) - } - else { + } else { builder.move(branch.condition) } }