Minor: simplify code in RedundantGotoMethodTransformer

This commit is contained in:
Dmitry Petrov
2017-05-19 14:49:18 +03:00
parent e1b41eee15
commit 89bfa64e90
@@ -34,18 +34,14 @@ class RedundantGotoMethodTransformer : MethodTransformer() {
val currentLabels = hashSetOf<LabelNode>() val currentLabels = hashSetOf<LabelNode>()
for (insn in insns) { for (insn in insns) {
if (insn.isMeaningful) { when {
if (insn.opcode == Opcodes.GOTO && (insn as JumpInsnNode).label in currentLabels) { insn is LabelNode ->
currentLabels.add(insn)
insn.opcode == Opcodes.GOTO &&
(insn as JumpInsnNode).label in currentLabels ->
insnsToRemove.add(insn) insnsToRemove.add(insn)
} insn.isMeaningful ->
else {
currentLabels.clear() currentLabels.clear()
}
continue
}
if (insn is LabelNode) {
currentLabels.add(insn)
} }
} }