Modifier and Type | Field and Description |
---|---|
protected ClassPool |
classPool |
protected ConstPool |
cpool |
protected TypeData[] |
localsTypes |
protected String |
returnType |
protected int |
stackTop |
protected TypeData[] |
stackTypes |
Constructor and Description |
---|
Tracer(ClassPool classes,
ConstPool cp,
int maxStack,
int maxLocals,
String retType) |
Tracer(Tracer t) |
Modifier and Type | Method and Description |
---|---|
protected int |
doOpcode(int pos,
byte[] code)
Does abstract interpretation on the given bytecode instruction.
|
protected void |
visitBranch(int pos,
byte[] code,
int offset) |
protected void |
visitGoto(int pos,
byte[] code,
int offset) |
protected void |
visitJSR(int pos,
byte[] code)
Invoked when the visited instruction is jsr.
|
protected void |
visitLookupSwitch(int pos,
byte[] code,
int n,
int pairsPos,
int defaultOffset) |
protected void |
visitRET(int pos,
byte[] code)
Invoked when the visited instruction is ret or wide ret.
|
protected void |
visitReturn(int pos,
byte[] code) |
protected void |
visitTableSwitch(int pos,
byte[] code,
int n,
int offsetPos,
int defaultOffset) |
protected void |
visitThrow(int pos,
byte[] code) |
protected ClassPool classPool
protected ConstPool cpool
protected String returnType
protected int stackTop
protected TypeData[] stackTypes
protected TypeData[] localsTypes
public Tracer(Tracer t)
protected int doOpcode(int pos, byte[] code) throws BadBytecode
pos
- the position of the instruction.BadBytecode
protected void visitBranch(int pos, byte[] code, int offset) throws BadBytecode
BadBytecode
protected void visitGoto(int pos, byte[] code, int offset) throws BadBytecode
BadBytecode
protected void visitReturn(int pos, byte[] code) throws BadBytecode
BadBytecode
protected void visitThrow(int pos, byte[] code) throws BadBytecode
BadBytecode
protected void visitTableSwitch(int pos, byte[] code, int n, int offsetPos, int defaultOffset) throws BadBytecode
pos
- the position of TABLESWITCHcode
- bytecoden
- the number of case labelsoffsetPos
- the position of the branch-target table.defaultOffset
- the offset to the default branch target.BadBytecode
protected void visitLookupSwitch(int pos, byte[] code, int n, int pairsPos, int defaultOffset) throws BadBytecode
pos
- the position of LOOKUPSWITCHcode
- bytecoden
- the number of case labelsoffsetPos
- the position of the table of pairs of a value and a branch target.defaultOffset
- the offset to the default branch target.BadBytecode
protected void visitJSR(int pos, byte[] code) throws BadBytecode
BadBytecode
protected void visitRET(int pos, byte[] code) throws BadBytecode
BadBytecode
Copyright © 2019. All rights reserved.