diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingFrame.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingFrame.kt index 08b5e26ca3d..114a6bd3d74 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingFrame.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/BoxingFrame.kt @@ -10,12 +10,13 @@ import org.jetbrains.org.objectweb.asm.tree.analysis.BasicValue import org.jetbrains.org.objectweb.asm.tree.analysis.Frame import org.jetbrains.org.objectweb.asm.tree.analysis.Interpreter -class BoxingFrame(nLocals: Int, nStack: Int, private val boxingInterpreter: BoxingInterpreter) : Frame(nLocals, nStack) { +class BoxingFrame(nLocals: Int, nStack: Int) : Frame(nLocals, nStack) { override fun merge(frame: Frame, interpreter: Interpreter): Boolean { if (stackSize != frame.stackSize) { throw AnalyzerException(null, "Incompatible stack heights") } + val boxingInterpreter = interpreter as BoxingInterpreter var changed = false for (i in 0 until locals) { val local = getLocal(i) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt index a08f2b016ed..c53fee12c79 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/RedundantBoxingMethodTransformer.kt @@ -44,7 +44,7 @@ class RedundantBoxingMethodTransformer(private val generationState: GenerationSt val interpreter = RedundantBoxingInterpreter(node, generationState) val analyzer = FastMethodAnalyzer( internalClassName, node, interpreter, pruneExceptionEdges = false - ) { nLocals, nStack -> BoxingFrame(nLocals, nStack, interpreter) } + ) { nLocals, nStack -> BoxingFrame(nLocals, nStack) } val frames = analyzer.analyze() interpretPopInstructionsForBoxedValues(interpreter, node, frames)