Make specific most things, so minimize jasmin diff so I can see the result of the injection easier..

This commit is contained in:
Adam
2016-03-20 17:29:45 -04:00
parent a97e7c283e
commit c79a344008
53 changed files with 421 additions and 73 deletions

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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
{

View File

@@ -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
{

View File

@@ -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
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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
{

View File

@@ -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();
}
}

View File

@@ -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;
}
}
}

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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;
}
}
}

View File

@@ -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
{

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)
{