store pushes in instruction context too
This commit is contained in:
@@ -29,6 +29,8 @@ public class AALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, array.getType().getSubtype());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class AConstNull extends Instruction
|
||||
StackContext ctx = new StackContext(ins, Object.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,8 @@ public class ALoad extends Instruction implements LVTInstruction, WideInstructio
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ public class ALoad_0 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ public class ALoad_1 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ public class ALoad_2 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ public class ALoad_3 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,8 @@ public class ANewArray extends Instruction
|
||||
StackContext ctx = new StackContext(ins, t);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ public class ArrayLength extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class BALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class); // sign extend
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,8 @@ public class BiPush extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class); // bipush sign extends the value to an int
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class CALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class); // zero extended to int
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,6 +61,8 @@ public class CheckCast extends Instruction
|
||||
StackContext exception = new StackContext(ins, new Type("java/lang/Exception"));
|
||||
stack.push(exception);
|
||||
|
||||
ins.push(exception);
|
||||
|
||||
f.addInstructionContext(ins);
|
||||
|
||||
f.jump(e.getHandler());
|
||||
|
||||
@@ -30,6 +30,8 @@ public class D2F extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ public class D2I extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ public class D2L extends Instruction
|
||||
StackContext ctx = new StackContext(ins, long.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DAdd extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ public class DCmpG extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ public class DCmpL extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class DConst_0 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class DConst_1 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DDiv extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,8 @@ public class DLoad extends Instruction implements LVTInstruction, WideInstructio
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class DLoad_0 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class DLoad_1 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class DLoad_2 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class DLoad_3 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DMul extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ public class DNeg extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DRem extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class DSub extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,9 +29,13 @@ public class Dup extends Instruction
|
||||
StackContext ctx = new StackContext(ins, obj.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
ctx = new StackContext(ins, obj.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,20 +37,28 @@ public class Dup2 extends Instruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
StackContext ctx = new StackContext(ins, one.getType());
|
||||
stack.push(one);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
if (two != null)
|
||||
{
|
||||
ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
ctx = new StackContext(ins, one.getType());
|
||||
stack.push(one);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -39,23 +39,33 @@ public class Dup2_X1 extends Instruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
StackContext ctx = new StackContext(ins, one.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
ctx = new StackContext(ins, three.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
if (two != null)
|
||||
{
|
||||
ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
ctx = new StackContext(ins, one.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,29 +44,41 @@ public class Dup2_X2 extends Instruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
StackContext ctx = new StackContext(ins, one.getType());
|
||||
stack.push(one);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
if (four != null)
|
||||
{
|
||||
ctx = new StackContext(ins, four.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
ctx = new StackContext(ins, three.getType());
|
||||
stack.push(one);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
if (two != null)
|
||||
{
|
||||
ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
ctx = new StackContext(ins, one.getType());
|
||||
stack.push(one);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,12 +31,18 @@ public class Dup_X1 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, one.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
ctx = new StackContext(ins, one.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,18 +37,26 @@ public class Dup_X2 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, one.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
if (three != null)
|
||||
{
|
||||
ctx = new StackContext(ins, three.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
ctx = new StackContext(ins, two.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
ctx = new StackContext(ins, one.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ public class F2D extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class F2I extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class F2L extends Instruction
|
||||
StackContext ctx = new StackContext(ins, long.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class FALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class FAdd extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ public class FCmpG extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,8 @@ public class FCmpL extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class FConst_0 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class FConst_1 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class FConst_2 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class FDiv extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,8 @@ public class FLoad extends Instruction implements LVTInstruction, WideInstructio
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class FLoad_0 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class FLoad_1 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class FLoad_2 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class FLoad_3 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ public class FMul extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ public class FNeg extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class FRem extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class FSub extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,8 @@ public class GetField extends Instruction implements GetFieldInstruction
|
||||
StackContext ctx = new StackContext(ins, new Type(field.getNameAndType().getDescriptorType()).toStackType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,8 @@ public class GetStatic extends Instruction implements GetFieldInstruction
|
||||
StackContext ctx = new StackContext(ins, new Type(field.getNameAndType().getDescriptorType()).toStackType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ public class I2B extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class); // sign extneded
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class I2C extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class); // sign extended
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class I2D extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class I2F extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class I2L extends Instruction
|
||||
StackContext ctx = new StackContext(ins, long.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class I2S extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class); // sign extended
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IAdd extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IAnd extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_0 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_1 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_2 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_3 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_4 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_5 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,8 @@ public class IConst_M1 extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IDiv extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,8 @@ public class ILoad extends Instruction implements LVTInstruction, WideInstructio
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class ILoad_0 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class ILoad_1 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class ILoad_2 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ public class ILoad_3 extends Instruction implements LVTInstruction
|
||||
StackContext ctx = new StackContext(ins, vctx.getType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IMul extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ public class INeg extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IOr extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IRem extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IShL extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IShR extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class ISub extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IUShR extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class IXor extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,8 @@ public class InstanceOf extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,6 +84,8 @@ public class InvokeInterface extends Instruction implements InvokeInstruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
@@ -110,6 +112,8 @@ public class InvokeInterface extends Instruction implements InvokeInstruction
|
||||
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
f.jump(e.getHandler());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +79,8 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
@@ -105,6 +107,8 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction
|
||||
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
f.jump(e.getHandler());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,8 @@ public class InvokeStatic extends Instruction implements InvokeInstruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
@@ -102,6 +104,8 @@ public class InvokeStatic extends Instruction implements InvokeInstruction
|
||||
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
f.jump(e.getHandler());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,6 +80,8 @@ public class InvokeVirtual extends Instruction implements InvokeInstruction
|
||||
{
|
||||
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
}
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
@@ -106,6 +108,8 @@ public class InvokeVirtual extends Instruction implements InvokeInstruction
|
||||
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
f.jump(e.getHandler());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class L2D extends Instruction
|
||||
StackContext ctx = new StackContext(ins, double.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class L2F extends Instruction
|
||||
StackContext ctx = new StackContext(ins, float.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class L2I extends Instruction
|
||||
StackContext ctx = new StackContext(ins, int.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public class LALoad extends Instruction
|
||||
StackContext ctx = new StackContext(ins, long.class);
|
||||
stack.push(ctx);
|
||||
|
||||
ins.push(ctx);
|
||||
|
||||
frame.addInstructionContext(ins);
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user