diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/InvokeSpecial.java b/src/main/java/net/runelite/deob/attributes/code/instructions/InvokeSpecial.java index 110aa39481..777df73e50 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/InvokeSpecial.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/InvokeSpecial.java @@ -102,6 +102,12 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction frame.addInstructionContext(ins); } + + @Override + public String toString() + { + return "invokespecial " + method + " in " + this.getInstructions().getCode().getAttributes().getMethod(); + } @Override public String getDesc(Frame frame) diff --git a/src/main/java/net/runelite/deob/execution/ParallellMappingExecutor.java b/src/main/java/net/runelite/deob/execution/ParallellMappingExecutor.java index 1a722bc9cb..cca1db0398 100644 --- a/src/main/java/net/runelite/deob/execution/ParallellMappingExecutor.java +++ b/src/main/java/net/runelite/deob/execution/ParallellMappingExecutor.java @@ -85,11 +85,13 @@ public class ParallellMappingExecutor if (p1.getInstruction() instanceof InvokeStatic && !(p2.getInstruction() instanceof InvokeStatic)) { f1 = stepInto(f1); + f1 = popStack(f1); p1 = f1.getInstructions().get(f1.getInstructions().size() - 1); } else if (p2.getInstruction() instanceof InvokeStatic && !(p1.getInstruction() instanceof InvokeStatic)) { f2 = stepInto(f2); + f2 = popStack(f2); p2 = f2.getInstructions().get(f2.getInstructions().size() - 1); } diff --git a/src/test/java/net/runelite/deob/deobfuscators/rename/MapStaticTest.java b/src/test/java/net/runelite/deob/deobfuscators/rename/MapStaticTest.java index efd3183fb0..9cf23a5c04 100644 --- a/src/test/java/net/runelite/deob/deobfuscators/rename/MapStaticTest.java +++ b/src/test/java/net/runelite/deob/deobfuscators/rename/MapStaticTest.java @@ -68,8 +68,8 @@ public class MapStaticTest ClassGroup group1 = JarUtil.loadJar(new File("d:/rs/07/adamin1.jar")); ClassGroup group2 = JarUtil.loadJar(new File("d:/rs/07/adamin2.jar")); - Method m1 = group1.findClass("class107").findMethod("method2427"); - Method m2 = group2.findClass("class107").findMethod("method2344"); + Method m1 = group1.findClass("client").findMethod("init"); + Method m2 = group2.findClass("client").findMethod("init"); ParallelExecutorMapping mappings = MappingExecutorUtil.map(m1, m2); }