From 13088195612fa6f87984a5785ff0ede8fcff5a6f Mon Sep 17 00:00:00 2001 From: Graham Date: Sun, 12 Jul 2020 22:05:40 +0100 Subject: [PATCH] Remove unused local variables of all types This is required to clean up after the CopyPropagationTransformer. Signed-off-by: Graham --- .../openrs2/deob/transform/UnusedLocalTransformer.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deob/src/main/java/dev/openrs2/deob/transform/UnusedLocalTransformer.kt b/deob/src/main/java/dev/openrs2/deob/transform/UnusedLocalTransformer.kt index b1c4de7320..911cca56ae 100644 --- a/deob/src/main/java/dev/openrs2/deob/transform/UnusedLocalTransformer.kt +++ b/deob/src/main/java/dev/openrs2/deob/transform/UnusedLocalTransformer.kt @@ -29,7 +29,7 @@ class UnusedLocalTransformer : Transformer() { val deadStores = mutableListOf() for (insn in method.instructions) { - if (insn !is VarInsnNode || insn.opcode != Opcodes.ISTORE) { + if (insn !is VarInsnNode || !STORE_OPCODES.contains(insn.opcode)) { continue } @@ -56,5 +56,13 @@ class UnusedLocalTransformer : Transformer() { private companion object { private val logger = InlineLogger() + + private val STORE_OPCODES = setOf( + Opcodes.ISTORE, + Opcodes.LSTORE, + Opcodes.FSTORE, + Opcodes.DSTORE, + Opcodes.ASTORE + ) } }