Fix for KT-17588: Compiler error while optimizer tries to get rid of captured variable

#KT-17588 Fixed
This commit is contained in:
Mikhael Bogdanov
2017-04-25 14:46:25 +02:00
parent 6e8406f73c
commit b9409523b0
6 changed files with 55 additions and 1 deletions
@@ -230,7 +230,7 @@ class CapturedVarsOptimizationMethodTransformer : MethodTransformer() {
private fun findCleanInstructions(refValue: CapturedVarDescriptor, oldVarIndex: Int, instructions: InsnList): List<VarInsnNode> {
val cleanInstructions =
InsnSequence(instructions).filterIsInstance<VarInsnNode>().filter {
it.`var` == oldVarIndex
it.opcode == Opcodes.ASTORE && it.`var` == oldVarIndex
}.filter {
it.previous?.opcode == Opcodes.ACONST_NULL
}.filter {