From c79a3440085378dc5e4c1911d6c8c889b330669d Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 20 Mar 2016 17:29:45 -0400 Subject: [PATCH] Make specific most things, so minimize jasmin diff so I can see the result of the injection easier.. --- .../attributes/code/instructions/ALoad.java | 18 +++++++++++++ .../attributes/code/instructions/ALoad_0.java | 5 ++++ .../attributes/code/instructions/ALoad_1.java | 5 ++++ .../attributes/code/instructions/ALoad_2.java | 5 ++++ .../attributes/code/instructions/ALoad_3.java | 5 ++++ .../attributes/code/instructions/AStore.java | 18 +++++++++++++ .../code/instructions/AStore_0.java | 8 ++++-- .../code/instructions/AStore_1.java | 8 ++++-- .../code/instructions/AStore_2.java | 8 ++++-- .../code/instructions/AStore_3.java | 8 ++++-- .../attributes/code/instructions/DLoad.java | 18 +++++++++++++ .../attributes/code/instructions/DLoad_0.java | 8 ++++-- .../attributes/code/instructions/DLoad_1.java | 8 ++++-- .../attributes/code/instructions/DLoad_2.java | 8 ++++-- .../attributes/code/instructions/DLoad_3.java | 8 ++++-- .../attributes/code/instructions/DStore.java | 18 +++++++++++++ .../code/instructions/DStore_0.java | 7 +++++- .../code/instructions/DStore_1.java | 8 ++++-- .../code/instructions/DStore_2.java | 7 +++++- .../code/instructions/DStore_3.java | 9 ++++--- .../attributes/code/instructions/FLoad.java | 18 +++++++++++++ .../attributes/code/instructions/FLoad_0.java | 8 ++++-- .../attributes/code/instructions/FLoad_1.java | 8 ++++-- .../attributes/code/instructions/FLoad_2.java | 8 ++++-- .../attributes/code/instructions/FLoad_3.java | 8 ++++-- .../attributes/code/instructions/FStore.java | 18 +++++++++++++ .../code/instructions/FStore_0.java | 8 ++++-- .../code/instructions/FStore_1.java | 8 ++++-- .../code/instructions/FStore_2.java | 8 ++++-- .../code/instructions/FStore_3.java | 8 ++++-- .../attributes/code/instructions/ILoad.java | 20 ++++++++++++++- .../attributes/code/instructions/ILoad_0.java | 9 ++++--- .../attributes/code/instructions/ILoad_1.java | 9 ++++--- .../attributes/code/instructions/ILoad_2.java | 9 ++++--- .../attributes/code/instructions/ILoad_3.java | 9 ++++--- .../attributes/code/instructions/IStore.java | 18 +++++++++++++ .../code/instructions/IStore_0.java | 2 -- .../code/instructions/IStore_1.java | 2 -- .../code/instructions/IStore_2.java | 2 -- .../code/instructions/IStore_3.java | 9 ++++--- .../code/instructions/LConst_0.java | 11 +++++--- .../code/instructions/LConst_1.java | 4 +-- .../attributes/code/instructions/LDC2_W.java | 25 +++++++++++++++++++ .../attributes/code/instructions/LLoad.java | 18 +++++++++++++ .../attributes/code/instructions/LLoad_0.java | 8 ++++-- .../attributes/code/instructions/LLoad_1.java | 5 ++++ .../attributes/code/instructions/LLoad_2.java | 5 ++++ .../attributes/code/instructions/LLoad_3.java | 5 ++++ .../attributes/code/instructions/LStore.java | 18 +++++++++++++ .../code/instructions/LStore_0.java | 1 - .../code/instructions/LStore_1.java | 8 ++++-- .../code/instructions/LStore_2.java | 5 ++++ .../code/instructions/LStore_3.java | 5 ++++ 53 files changed, 421 insertions(+), 73 deletions(-) diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad.java index 0b0635d652..37c6c99efe 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad.java @@ -104,4 +104,22 @@ public class ALoad extends Instruction implements LVTInstruction, WideInstructio index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new ALoad_0(this.getInstructions()); + case 1: + return new ALoad_1(this.getInstructions()); + case 2: + return new ALoad_2(this.getInstructions()); + case 3: + return new ALoad_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_0.java index 0efa3a9f6c..c3c5d90bd7 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_0.java @@ -20,6 +20,11 @@ public class ALoad_0 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public ALoad_0(Instructions instructions) + { + super(instructions, InstructionType.ALOAD_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_1.java index 279b364307..be1d58db56 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_1.java @@ -20,6 +20,11 @@ public class ALoad_1 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public ALoad_1(Instructions instructions) + { + super(instructions, InstructionType.ALOAD_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_2.java index 9f5a93e489..39aeb83e9f 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_2.java @@ -20,6 +20,11 @@ public class ALoad_2 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public ALoad_2(Instructions instructions) + { + super(instructions, InstructionType.ALOAD_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_3.java index b7c09946fe..834bf76b33 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ALoad_3.java @@ -20,6 +20,11 @@ public class ALoad_3 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public ALoad_3(Instructions instructions) + { + super(instructions, InstructionType.ALOAD_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore.java b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore.java index b189381d3f..304d31af02 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore.java @@ -86,4 +86,22 @@ public class AStore extends Instruction implements LVTInstruction, WideInstructi index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new AStore_0(this.getInstructions()); + case 1: + return new AStore_1(this.getInstructions()); + case 2: + return new AStore_2(this.getInstructions()); + case 3: + return new AStore_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_0.java index 50239bfd36..7e3e6a8e6b 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_0.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class AStore_0 extends Instruction implements LVTInstruction { - public AStore_0(Instructions instructions, InstructionType type, int pc) throws IOException + public AStore_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public AStore_0(Instructions instructions) + { + super(instructions, InstructionType.ASTORE_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_1.java index 956879243f..9fa865e113 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_1.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class AStore_1 extends Instruction implements LVTInstruction { - public AStore_1(Instructions instructions, InstructionType type, int pc) throws IOException + public AStore_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public AStore_1(Instructions instructions) + { + super(instructions, InstructionType.ASTORE_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_2.java index 23533bc926..b30e3f2917 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_2.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class AStore_2 extends Instruction implements LVTInstruction { - public AStore_2(Instructions instructions, InstructionType type, int pc) throws IOException + public AStore_2(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public AStore_2(Instructions instructions) + { + super(instructions, InstructionType.ASTORE_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_3.java index faf1e6b020..6716f6e283 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/AStore_3.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class AStore_3 extends Instruction implements LVTInstruction { - public AStore_3(Instructions instructions, InstructionType type, int pc) throws IOException + public AStore_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public AStore_3(Instructions instructions) + { + super(instructions, InstructionType.ASTORE_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad.java index def0e5fc31..a94ac1ce6a 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad.java @@ -106,4 +106,22 @@ public class DLoad extends Instruction implements LVTInstruction, WideInstructio index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new DLoad_0(this.getInstructions()); + case 1: + return new DLoad_1(this.getInstructions()); + case 2: + return new DLoad_2(this.getInstructions()); + case 3: + return new DLoad_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_0.java index 0e36193c54..edc26b864d 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_0.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class DLoad_0 extends Instruction implements LVTInstruction { - public DLoad_0(Instructions instructions, InstructionType type, int pc) throws IOException + public DLoad_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DLoad_0(Instructions instructions) + { + super(instructions, InstructionType.DLOAD_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_1.java index 1a739fbce2..38bdf7d5c9 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_1.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class DLoad_1 extends Instruction implements LVTInstruction { - public DLoad_1(Instructions instructions, InstructionType type, int pc) throws IOException + public DLoad_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DLoad_1(Instructions instructions) + { + super(instructions, InstructionType.DLOAD_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_2.java index 0eb0a95831..844c917263 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_2.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class DLoad_2 extends Instruction implements LVTInstruction { - public DLoad_2(Instructions instructions, InstructionType type, int pc) throws IOException + public DLoad_2(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DLoad_2(Instructions instructions) + { + super(instructions, InstructionType.DLOAD_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_3.java index ffddbf4ead..c95a57fdf4 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DLoad_3.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class DLoad_3 extends Instruction implements LVTInstruction { - public DLoad_3(Instructions instructions, InstructionType type, int pc) throws IOException + public DLoad_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DLoad_3(Instructions instructions) + { + super(instructions, InstructionType.DLOAD_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore.java index 7696fbbcdc..b05a316505 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore.java @@ -86,4 +86,22 @@ public class DStore extends Instruction implements LVTInstruction, WideInstructi index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new DStore_0(this.getInstructions()); + case 1: + return new DStore_1(this.getInstructions()); + case 2: + return new DStore_2(this.getInstructions()); + case 3: + return new DStore_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_0.java index 95c9857399..c3a45978c5 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_0.java @@ -15,11 +15,16 @@ import java.io.IOException; public class DStore_0 extends Instruction implements LVTInstruction { - public DStore_0(Instructions instructions, InstructionType type, int pc) throws IOException + public DStore_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DStore_0(Instructions instructions) + { + super(instructions, InstructionType.DST0RE_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_1.java index ff93e2aaa6..0d93776fff 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_1.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class DStore_1 extends Instruction implements LVTInstruction { - public DStore_1(Instructions instructions, InstructionType type, int pc) throws IOException + public DStore_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DStore_1(Instructions instructions) + { + super(instructions, InstructionType.DSTORE_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_2.java index 27cfe25492..42d3994a9f 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_2.java @@ -15,11 +15,16 @@ import java.io.IOException; public class DStore_2 extends Instruction implements LVTInstruction { - public DStore_2(Instructions instructions, InstructionType type, int pc) throws IOException + public DStore_2(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DStore_2(Instructions instructions) + { + super(instructions, InstructionType.DSTORE_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_3.java index ad48bc23b1..305d0abf0d 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/DStore_3.java @@ -11,15 +11,18 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; - public class DStore_3 extends Instruction implements LVTInstruction { - public DStore_3(Instructions instructions, InstructionType type, int pc) throws IOException + public DStore_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public DStore_3(Instructions instructions) + { + super(instructions, InstructionType.DSTORE_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad.java index 51a7f010cf..c2395375a7 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad.java @@ -106,4 +106,22 @@ public class FLoad extends Instruction implements LVTInstruction, WideInstructio index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new FLoad_0(this.getInstructions()); + case 1: + return new FLoad_1(this.getInstructions()); + case 2: + return new FLoad_2(this.getInstructions()); + case 3: + return new FLoad_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_0.java index b745a4ad0e..6b8fc6f02d 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_0.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FLoad_0 extends Instruction implements LVTInstruction { - public FLoad_0(Instructions instructions, InstructionType type, int pc) throws IOException + public FLoad_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FLoad_0(Instructions instructions) + { + super(instructions, InstructionType.FLOAD_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_1.java index 97932f7cc7..937162efa5 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_1.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FLoad_1 extends Instruction implements LVTInstruction { - public FLoad_1(Instructions instructions, InstructionType type, int pc) throws IOException + public FLoad_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FLoad_1(Instructions instructions) + { + super(instructions, InstructionType.FLOAD_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_2.java index 0471ac86c6..921eb906e8 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_2.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FLoad_2 extends Instruction implements LVTInstruction { - public FLoad_2(Instructions instructions, InstructionType type, int pc) throws IOException + public FLoad_2(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FLoad_2(Instructions instructions) + { + super(instructions, InstructionType.FLOAD_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_3.java index fc627dfa53..1ca1ff3336 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FLoad_3.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FLoad_3 extends Instruction implements LVTInstruction { - public FLoad_3(Instructions instructions, InstructionType type, int pc) throws IOException + public FLoad_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FLoad_3(Instructions instructions) + { + super(instructions, InstructionType.FLOAD_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore.java index 6bbb78c365..0acd9edc81 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore.java @@ -86,4 +86,22 @@ public class FStore extends Instruction implements LVTInstruction, WideInstructi index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new FStore_0(this.getInstructions()); + case 1: + return new FStore_1(this.getInstructions()); + case 2: + return new FStore_2(this.getInstructions()); + case 3: + return new FStore_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_0.java index 51c486eea1..6e7f376800 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_0.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FStore_0 extends Instruction implements LVTInstruction { - public FStore_0(Instructions instructions, InstructionType type, int pc) throws IOException + public FStore_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FStore_0(Instructions instructions) + { + super(instructions, InstructionType.FSTORE_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_1.java index e8eeaa9df8..968bf81b06 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_1.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FStore_1 extends Instruction implements LVTInstruction { - public FStore_1(Instructions instructions, InstructionType type, int pc) throws IOException + public FStore_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FStore_1(Instructions instructions) + { + super(instructions, InstructionType.FSTORE_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_2.java index 5643a621ec..d461bca55c 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_2.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FStore_2 extends Instruction implements LVTInstruction { - public FStore_2(Instructions instructions, InstructionType type, int pc) throws IOException + public FStore_2(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FStore_2(Instructions instructions) + { + super(instructions, InstructionType.FSTORE_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_3.java index 5e1b5c13b4..39c1e4fe8b 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/FStore_3.java @@ -11,15 +11,19 @@ import net.runelite.deob.execution.StackContext; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class FStore_3 extends Instruction implements LVTInstruction { - public FStore_3(Instructions instructions, InstructionType type, int pc) throws IOException + public FStore_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public FStore_3(Instructions instructions) + { + super(instructions, InstructionType.FSTORE_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad.java index 036ecc127f..edb25e4f54 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad.java @@ -9,7 +9,6 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; @@ -106,4 +105,23 @@ public class ILoad extends Instruction implements LVTInstruction, WideInstructio index = idx; return this; } + + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new ILoad_0(this.getInstructions()); + case 1: + return new ILoad_1(this.getInstructions()); + case 2: + return new ILoad_2(this.getInstructions()); + case 3: + return new ILoad_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_0.java index 034406c7da..b1ed13a713 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_0.java @@ -8,19 +8,22 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class ILoad_0 extends Instruction implements LVTInstruction { - public ILoad_0(Instructions instructions, InstructionType type, int pc) throws IOException + public ILoad_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public ILoad_0(Instructions instructions) + { + super(instructions, InstructionType.ILOAD_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_1.java index e4e16c1349..e272da0fbd 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_1.java @@ -8,19 +8,22 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class ILoad_1 extends Instruction implements LVTInstruction { - public ILoad_1(Instructions instructions, InstructionType type, int pc) throws IOException + public ILoad_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public ILoad_1(Instructions instructions) + { + super(instructions, InstructionType.ILOAD_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_2.java index f0cf9603f9..392e13df2d 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_2.java @@ -8,19 +8,22 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class ILoad_2 extends Instruction implements LVTInstruction { - public ILoad_2(Instructions instructions, InstructionType type, int pc) throws IOException + public ILoad_2(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public ILoad_2(Instructions instructions) + { + super(instructions, InstructionType.ILOAD_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_3.java index ed842bc006..8b3a6a7f7e 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/ILoad_3.java @@ -8,19 +8,22 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class ILoad_3 extends Instruction implements LVTInstruction { - public ILoad_3(Instructions instructions, InstructionType type, int pc) throws IOException + public ILoad_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public ILoad_3(Instructions instructions) + { + super(instructions, InstructionType.ILOAD_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore.java b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore.java index a51c9f2697..4f979ce926 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore.java @@ -88,4 +88,22 @@ public class IStore extends Instruction implements LVTInstruction, WideInstructi index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new IStore_0(this.getInstructions()); + case 1: + return new IStore_1(this.getInstructions()); + case 2: + return new IStore_2(this.getInstructions()); + case 3: + return new IStore_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_0.java index 186912a245..fa1b2ad140 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_0.java @@ -8,11 +8,9 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class IStore_0 extends Instruction implements LVTInstruction { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_1.java index af4b438918..a22a2f69e8 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_1.java @@ -8,11 +8,9 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class IStore_1 extends Instruction implements LVTInstruction { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_2.java index c81c9d434e..ba51d66985 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_2.java @@ -8,11 +8,9 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class IStore_2 extends Instruction implements LVTInstruction { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_3.java index fe5b6854f9..0dcb43ba54 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/IStore_3.java @@ -8,19 +8,22 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class IStore_3 extends Instruction implements LVTInstruction { - public IStore_3(Instructions instructions, InstructionType type, int pc) throws IOException + public IStore_3(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public IStore_3(Instructions instructions) + { + super(instructions, InstructionType.ISTORE_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_0.java index 90a96758e5..27e1e6445c 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_0.java @@ -8,18 +8,21 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.pool.PoolEntry; - -import java.io.IOException; import net.runelite.deob.execution.Value; +import net.runelite.deob.pool.PoolEntry; public class LConst_0 extends Instruction implements PushConstantInstruction { - public LConst_0(Instructions instructions, InstructionType type, int pc) throws IOException + public LConst_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public LConst_0(Instructions instructions) + { + super(instructions, InstructionType.LCONST_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_1.java index 83712595e9..e21f1c33fb 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LConst_1.java @@ -8,10 +8,8 @@ import net.runelite.deob.execution.Frame; import net.runelite.deob.execution.InstructionContext; import net.runelite.deob.execution.Stack; import net.runelite.deob.execution.StackContext; -import net.runelite.deob.pool.PoolEntry; - -import java.io.IOException; import net.runelite.deob.execution.Value; +import net.runelite.deob.pool.PoolEntry; public class LConst_1 extends Instruction implements PushConstantInstruction { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LDC2_W.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LDC2_W.java index 1187620a66..1061bf9e1b 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LDC2_W.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LDC2_W.java @@ -96,4 +96,29 @@ public class LDC2_W extends Instruction implements PushConstantInstruction { return (long) value.getObject(); } + + @Override + public Instruction makeSpecific() + { + switch (value.getType()) + { + case LONG: + { + long l = (long) value.getObject(); + + if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) + break; + + switch ((int) l) + { + case 0: + return new LConst_0(this.getInstructions()); + case 1: + return new LConst_1(this.getInstructions()); + } + } + } + + return super.makeSpecific(); + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad.java index f1e69e1bbf..55454ffe5f 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad.java @@ -106,4 +106,22 @@ public class LLoad extends Instruction implements LVTInstruction, WideInstructio index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new LLoad_0(this.getInstructions()); + case 1: + return new LLoad_1(this.getInstructions()); + case 2: + return new LLoad_2(this.getInstructions()); + case 3: + return new LLoad_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_0.java index 428a03cbdb..2af3afd74e 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_0.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class LLoad_0 extends Instruction implements LVTInstruction { - public LLoad_0(Instructions instructions, InstructionType type, int pc) throws IOException + public LLoad_0(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public LLoad_0(Instructions instructions) + { + super(instructions, InstructionType.LLOAD_0, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_1.java index 7af0f54144..578bbef5fb 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_1.java @@ -21,6 +21,11 @@ public class LLoad_1 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public LLoad_1(Instructions instructions) + { + super(instructions, InstructionType.LLOAD_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_2.java index 7141603110..2dbef92a2a 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_2.java @@ -21,6 +21,11 @@ public class LLoad_2 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public LLoad_2(Instructions instructions) + { + super(instructions, InstructionType.LLOAD_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_3.java index 8b56c1e9af..4f2c871359 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LLoad_3.java @@ -21,6 +21,11 @@ public class LLoad_3 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public LLoad_3(Instructions instructions) + { + super(instructions, InstructionType.LLOAD_3, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore.java index 7a04bf927c..70488a61d5 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore.java @@ -88,4 +88,22 @@ public class LStore extends Instruction implements LVTInstruction, WideInstructi index = idx; return this; } + + @Override + public Instruction makeSpecific() + { + switch (index) + { + case 0: + return new LStore_0(this.getInstructions()); + case 1: + return new LStore_1(this.getInstructions()); + case 2: + return new LStore_2(this.getInstructions()); + case 3: + return new LStore_3(this.getInstructions()); + default: + return this; + } + } } diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_0.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_0.java index b8c215a754..ccc0ff4992 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_0.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_0.java @@ -12,7 +12,6 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class LStore_0 extends Instruction implements LVTInstruction { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_1.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_1.java index 0f70ef7ee1..0a00e59afe 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_1.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_1.java @@ -12,15 +12,19 @@ import net.runelite.deob.execution.Type; import net.runelite.deob.execution.VariableContext; import net.runelite.deob.execution.Variables; -import java.io.IOException; public class LStore_1 extends Instruction implements LVTInstruction { - public LStore_1(Instructions instructions, InstructionType type, int pc) throws IOException + public LStore_1(Instructions instructions, InstructionType type, int pc) { super(instructions, type, pc); } + public LStore_1(Instructions instructions) + { + super(instructions, InstructionType.LSTORE_1, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_2.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_2.java index a336300840..6bb5f06a98 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_2.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_2.java @@ -21,6 +21,11 @@ public class LStore_2 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public LStore_2(Instructions instructions) + { + super(instructions, InstructionType.LSTORE_2, -1); + } + @Override public void execute(Frame frame) { diff --git a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_3.java b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_3.java index d49bcc9af2..bff2d947e4 100644 --- a/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_3.java +++ b/src/main/java/net/runelite/deob/attributes/code/instructions/LStore_3.java @@ -21,6 +21,11 @@ public class LStore_3 extends Instruction implements LVTInstruction super(instructions, type, pc); } + public LStore_3(Instructions instructions) + { + super(instructions, InstructionType.LSTORE_3, -1); + } + @Override public void execute(Frame frame) {