From 89cb31c387a217dcfe048bba548807fbdc4fb14f Mon Sep 17 00:00:00 2001 From: pyos Date: Wed, 27 Mar 2019 14:10:04 +0100 Subject: [PATCH] Refactor try-catch covering computation --- .../backend/jvm/codegen/ExpressionCodegen.kt | 75 +++++++------------ 1 file changed, 28 insertions(+), 47 deletions(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 154e232086a..6baea132cc6 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -58,12 +58,14 @@ import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter import java.util.* -open class ExpressionInfo(val expression: IrExpression) +sealed class ExpressionInfo() -class LoopInfo(val loop: IrLoop, val continueLabel: Label, val breakLabel: Label) : ExpressionInfo(loop) +class LoopInfo(val loop: IrLoop, val continueLabel: Label, val breakLabel: Label) : ExpressionInfo() -class TryInfo(val tryBlock: IrTry) : ExpressionInfo(tryBlock) { - val gaps = mutableListOf