diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAPAndMethodNode.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAPAndMethodNode.kt index 31319a1d642..e14e7b26ce5 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAPAndMethodNode.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/SMAPAndMethodNode.kt @@ -17,7 +17,7 @@ package org.jetbrains.kotlin.codegen.inline import org.jetbrains.org.objectweb.asm.tree.MethodNode -import org.jetbrains.kotlin.codegen.optimization.common.InsnStream +import org.jetbrains.kotlin.codegen.optimization.common.InsnSequence import org.jetbrains.org.objectweb.asm.tree.LineNumberNode import org.jetbrains.org.objectweb.asm.Label import kotlin.properties.Delegates @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.codegen.SourceInfo class SMAPAndMethodNode(val node: MethodNode, val classSMAP: SMAP) { val lineNumbers = - InsnStream(node.instructions.getFirst(), null).stream().filterIsInstance().map { + InsnSequence(node.instructions.getFirst(), null).stream().filterIsInstance().map { val index = Collections.binarySearch(classSMAP.intervals, RangeMapping(it.line, it.line, 1)) { value, key -> if (value.contains(key.dest)) 0 else RangeMapping.Comparator.compare(value, key) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt index b9310aa733f..f43dac7351e 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/common/Util.kt @@ -28,7 +28,7 @@ val AbstractInsnNode.isMeaningful : Boolean get() = else -> true } -class InsnStream(val from: AbstractInsnNode, val to: AbstractInsnNode?) : Stream { +class InsnSequence(val from: AbstractInsnNode, val to: AbstractInsnNode?) : Sequence { override fun iterator(): Iterator { return object : Iterator { var current: AbstractInsnNode? = from @@ -44,14 +44,14 @@ class InsnStream(val from: AbstractInsnNode, val to: AbstractInsnNode?) : Stream fun MethodNode.prepareForEmitting() { tryCatchBlocks = tryCatchBlocks.filter { tcb -> - InsnStream(tcb.start, tcb.end).any { insn -> + InsnSequence(tcb.start, tcb.end).any { insn -> insn.isMeaningful } } // local variables with live ranges starting after last meaningful instruction lead to VerifyError localVariables = localVariables.filter { lv -> - InsnStream(lv.start, instructions.getLast()).any { insn -> + InsnSequence(lv.start, instructions.getLast()).any { insn -> insn.isMeaningful } }