public class Tree extends Node implements InstructionVisitor, Opcode
Block,
Expr,
OperandStack,
see StmtList| Modifier and Type | Field and Description |
|---|---|
static boolean |
AUPDATE_FIX_HACK |
static boolean |
AUPDATE_FIX_HACK_CHANGED |
static boolean |
DEBUG |
static boolean |
FLATTEN |
static boolean |
USE_PERSISTENT |
static boolean |
USE_STACK |
opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_aswizzle, opc_aswrange, opc_athrow, opc_aupdate, opc_baload, opc_bastore, opc_bipush, opc_breakpoint, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putfield_nowb, opc_putstatic, opc_putstatic_nowb, opc_rc, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_supdate, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, opcNames, opcSize, opcx_aaload, opcx_aastore, opcx_aload, opcx_areturn, opcx_arraylength, opcx_astore, opcx_aswizzle, opcx_aswrange, opcx_athrow, opcx_aupdate, opcx_baload, opcx_bastore, opcx_caload, opcx_castore, opcx_checkcast, opcx_d2f, opcx_d2i, opcx_d2l, opcx_dadd, opcx_daload, opcx_dastore, opcx_dcmpg, opcx_dcmpl, opcx_ddiv, opcx_dload, opcx_dmul, opcx_dneg, opcx_drem, opcx_dreturn, opcx_dstore, opcx_dsub, opcx_dup, opcx_dup_x1, opcx_dup_x2, opcx_dup2, opcx_dup2_x1, opcx_dup2_x2, opcx_f2d, opcx_f2i, opcx_f2l, opcx_fadd, opcx_faload, opcx_fastore, opcx_fcmpg, opcx_fcmpl, opcx_fdiv, opcx_fload, opcx_fmul, opcx_fneg, opcx_frem, opcx_freturn, opcx_fstore, opcx_fsub, opcx_getfield, opcx_getstatic, opcx_goto, opcx_i2b, opcx_i2c, opcx_i2d, opcx_i2f, opcx_i2l, opcx_i2s, opcx_iadd, opcx_iaload, opcx_iand, opcx_iastore, opcx_idiv, opcx_if_acmpeq, opcx_if_acmpne, opcx_if_icmpeq, opcx_if_icmpge, opcx_if_icmpgt, opcx_if_icmple, opcx_if_icmplt, opcx_if_icmpne, opcx_ifeq, opcx_ifge, opcx_ifgt, opcx_ifle, opcx_iflt, opcx_ifne, opcx_ifnonnull, opcx_ifnull, opcx_iinc, opcx_iload, opcx_imul, opcx_ineg, opcx_instanceof, opcx_invokeinterface, opcx_invokespecial, opcx_invokestatic, opcx_invokevirtual, opcx_ior, opcx_irem, opcx_ireturn, opcx_ishl, opcx_ishr, opcx_istore, opcx_isub, opcx_iushr, opcx_ixor, opcx_jsr, opcx_l2d, opcx_l2f, opcx_l2i, opcx_ladd, opcx_laload, opcx_land, opcx_lastore, opcx_lcmp, opcx_ldc, opcx_ldiv, opcx_lload, opcx_lmul, opcx_lneg, opcx_lor, opcx_lrem, opcx_lreturn, opcx_lshl, opcx_lshr, opcx_lstore, opcx_lsub, opcx_lushr, opcx_lxor, opcx_monitorenter, opcx_monitorexit, opcx_multianewarray, opcx_new, opcx_newarray, opcx_nop, opcx_pop, opcx_pop2, opcx_putfield, opcx_putfield_nowb, opcx_putstatic, opcx_putstatic_nowb, opcx_rc, opcx_ret, opcx_return, opcx_saload, opcx_sastore, opcx_supdate, opcx_swap, opcx_switch, opcXMap, VARIABLE| Constructor and Description |
|---|
Tree(Block block,
OperandStack predStack)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addInstruction(Instruction inst)
Adds an instruction that does not change the control flow (a normal
instruction).
|
void |
addInstruction(Instruction inst,
Block next)
Adds an instruction that jumps to another basic block.
|
void |
addInstruction(Instruction inst,
Subroutine sub)
Add an instruction such as ret or astore that may involve
a subroutine.
|
void |
addLabel(Label label)
Add a label to the statement list.
|
void |
addStmt(Stmt stmt)
Save the contents of the stack and add stmt to the statement list.
|
void |
addStmtAfter(Stmt stmt,
Stmt after)
Inserts a statement into the statement list after another given
statement.
|
void |
addStmtBefore(Stmt stmt,
Stmt before)
Inserts a statement into the statement list before a specified statement.
|
void |
addStmtBeforeJump(Stmt stmt)
Adds a statement to the statement list before the last jump statement.
|
Block |
block()
Returns the basic block in which this Node resides.
|
void |
cleanupOnly()
Cleans up this node.
|
void |
initLocals(java.util.Collection locals)
Add a Collection of local variables to the block.
|
Stmt |
lastStmt()
Returns the last non-Label statement in the statement list.
|
LocalExpr |
newLocal(int index,
Type type)
Returns a new LocalExpr that is not allocated on the stack.
|
LocalExpr |
newLocal(Type type)
Returns a local variable (LocalExpr) located in this method.
|
StackExpr |
newStack(Type type)
Returns a new StackExpr for the top of the operand stack.
|
LocalExpr |
newStackLocal(int index,
Type type)
Returns a new LocalExpr that represents an element of the stack.
|
Node |
parent() |
void |
prependStmt(Stmt stmt)
Add an statement to the statement list before the first non-Label
statement.
|
void |
removeLastStmt()
Removes the last non-Label statement from the statement list.
|
void |
removeStmt(Stmt stmt)
Removes a statement from the statement list.
|
OperandStack |
stack()
Returns the operand stack.
|
java.util.List |
stmts() |
java.lang.String |
toString()
Returns a String representation of this Tree.
|
void |
visit_aaload(Instruction inst) |
void |
visit_aastore(Instruction inst) |
void |
visit_aload(Instruction inst) |
void |
visit_areturn(Instruction inst) |
void |
visit_arraylength(Instruction inst)
Pushes an ArrayLengthExpr onto the operand stack.
|
void |
visit_astore(Instruction inst)
Visit an astore instruction.
|
void |
visit_aswizzle(Instruction inst)
Add a SCStmt to the statement list
|
void |
visit_aswrange(Instruction inst)
Add a SRStmt to the statement list.
|
void |
visit_athrow(Instruction inst)
Adds a ThrowStmt to the statement list.
|
void |
visit_aupdate(Instruction inst) |
void |
visit_baload(Instruction inst) |
void |
visit_bastore(Instruction inst) |
void |
visit_caload(Instruction inst) |
void |
visit_castore(Instruction inst) |
void |
visit_checkcast(Instruction inst)
Pushes a CastExpr onto the operand stack.
|
void |
visit_d2f(Instruction inst) |
void |
visit_d2i(Instruction inst) |
void |
visit_d2l(Instruction inst) |
void |
visit_dadd(Instruction inst) |
void |
visit_daload(Instruction inst) |
void |
visit_dastore(Instruction inst) |
void |
visit_dcmpg(Instruction inst) |
void |
visit_dcmpl(Instruction inst) |
void |
visit_ddiv(Instruction inst) |
void |
visit_dload(Instruction inst) |
void |
visit_dmul(Instruction inst) |
void |
visit_dneg(Instruction inst) |
void |
visit_drem(Instruction inst) |
void |
visit_dreturn(Instruction inst) |
void |
visit_dstore(Instruction inst) |
void |
visit_dsub(Instruction inst) |
void |
visit_dup_x1(Instruction inst) |
void |
visit_dup_x2(Instruction inst) |
void |
visit_dup(Instruction inst)
When processing the dup instructions one of two situations can
occur.
|
void |
visit_dup2_x1(Instruction inst) |
void |
visit_dup2_x2(Instruction inst) |
void |
visit_dup2(Instruction inst) |
void |
visit_f2d(Instruction inst) |
void |
visit_f2i(Instruction inst) |
void |
visit_f2l(Instruction inst) |
void |
visit_fadd(Instruction inst) |
void |
visit_faload(Instruction inst) |
void |
visit_fastore(Instruction inst) |
void |
visit_fcmpg(Instruction inst) |
void |
visit_fcmpl(Instruction inst) |
void |
visit_fdiv(Instruction inst) |
void |
visit_fload(Instruction inst) |
void |
visit_fmul(Instruction inst) |
void |
visit_fneg(Instruction inst) |
void |
visit_frem(Instruction inst) |
void |
visit_freturn(Instruction inst) |
void |
visit_fstore(Instruction inst) |
void |
visit_fsub(Instruction inst) |
void |
visit_getfield(Instruction inst)
Pushes a FieldExpr onto the operand stack.
|
void |
visit_getstatic(Instruction inst)
Pushes a StaticFieldExpr onto the operand stack.
|
void |
visit_goto(Instruction inst)
Adds a GotoStmt to the statement list.
|
void |
visit_i2b(Instruction inst) |
void |
visit_i2c(Instruction inst) |
void |
visit_i2d(Instruction inst) |
void |
visit_i2f(Instruction inst) |
void |
visit_i2l(Instruction inst)
All cast visitors push a CastExpr onto the operand stack.
|
void |
visit_i2s(Instruction inst) |
void |
visit_iadd(Instruction inst)
All visit_xadd, visit_xsub,
visit_xmul, visit_xdiv, etc.
|
void |
visit_iaload(Instruction inst)
All visit_xaload push an ArrayRefExpr onto the
operand stack.
|
void |
visit_iand(Instruction inst)
All visit_x op push an ArithExpr onto the stack.
|
void |
visit_iastore(Instruction inst) |
void |
visit_idiv(Instruction inst) |
void |
visit_if_acmpeq(Instruction inst) |
void |
visit_if_acmpne(Instruction inst) |
void |
visit_if_icmpeq(Instruction inst)
All visit_if_xcmpy add a IfCmpStmt to the
statement list.
|
void |
visit_if_icmpge(Instruction inst) |
void |
visit_if_icmpgt(Instruction inst) |
void |
visit_if_icmple(Instruction inst) |
void |
visit_if_icmplt(Instruction inst) |
void |
visit_if_icmpne(Instruction inst) |
void |
visit_ifeq(Instruction inst)
All visit_xeg add an IfZeroStmt to the statement
list.
|
void |
visit_ifge(Instruction inst) |
void |
visit_ifgt(Instruction inst) |
void |
visit_ifle(Instruction inst) |
void |
visit_iflt(Instruction inst) |
void |
visit_ifne(Instruction inst) |
void |
visit_ifnonnull(Instruction inst) |
void |
visit_ifnull(Instruction inst)
Both visit_xnull add an IfZeroStmt to the statement
list.
|
void |
visit_iinc(Instruction inst)
Visiting an iinc involves creating a ConstantExpr, LocalExpr, ArithExpr
StoreExpr, and a ExprStmt.
|
void |
visit_iload(Instruction inst)
All visit_xload push a LocalExpr onto the operand
stack.
|
void |
visit_imul(Instruction inst) |
void |
visit_ineg(Instruction inst)
All visit_xneg push a NegExpr onto the stack.
|
void |
visit_instanceof(Instruction inst)
Pushes an InstanceOfExpr onto the operand stack.
|
void |
visit_invokeinterface(Instruction inst) |
void |
visit_invokespecial(Instruction inst) |
void |
visit_invokestatic(Instruction inst) |
void |
visit_invokevirtual(Instruction inst)
All visit_invokex deal with a CallMethodExpr or a
CallStaticExpr.
|
void |
visit_ior(Instruction inst) |
void |
visit_irem(Instruction inst) |
void |
visit_ireturn(Instruction inst)
All visit_xreturn add a ReturnExprStmt to the
statement list.
|
void |
visit_ishl(Instruction inst)
All visit_xshd push a ShiftExpr onto the
operand stack.
|
void |
visit_ishr(Instruction inst) |
void |
visit_istore(Instruction inst)
All visit_xstore add a LocalExpr statement to the
statement list.
|
void |
visit_isub(Instruction inst) |
void |
visit_iushr(Instruction inst) |
void |
visit_ixor(Instruction inst) |
void |
visit_jsr(Instruction inst)
Adds a JsrStmt to the statement list.
|
void |
visit_l2d(Instruction inst) |
void |
visit_l2f(Instruction inst) |
void |
visit_l2i(Instruction inst) |
void |
visit_ladd(Instruction inst) |
void |
visit_laload(Instruction inst) |
void |
visit_land(Instruction inst) |
void |
visit_lastore(Instruction inst) |
void |
visit_lcmp(Instruction inst)
All visit_xcmp push an ArithExpr onto the stack.
|
void |
visit_ldc(Instruction inst)
Pushes a ConstantExpr onto the operand stack.
|
void |
visit_ldiv(Instruction inst) |
void |
visit_lload(Instruction inst) |
void |
visit_lmul(Instruction inst) |
void |
visit_lneg(Instruction inst) |
void |
visit_lor(Instruction inst) |
void |
visit_lrem(Instruction inst) |
void |
visit_lreturn(Instruction inst) |
void |
visit_lshl(Instruction inst) |
void |
visit_lshr(Instruction inst) |
void |
visit_lstore(Instruction inst) |
void |
visit_lsub(Instruction inst) |
void |
visit_lushr(Instruction inst) |
void |
visit_lxor(Instruction inst) |
void |
visit_monitorenter(Instruction inst)
Both monitor visitors add a MonitorStmt to the statement list.
|
void |
visit_monitorexit(Instruction inst) |
void |
visit_multianewarray(Instruction inst)
Push a NewMultiArrayExpr onto the operand stack.
|
void |
visit_new(Instruction inst)
Pushes a NewExpr onto the operand stack.
|
void |
visit_newarray(Instruction inst)
Pushes a NewArrayExpr onto the operand stack.
|
void |
visit_nop(Instruction inst)
Adds no statements to the statement list.
|
void |
visit_pop(Instruction inst)
Pop the expression off the top of the stack and add it as an ExprStmt to
the statement list.
|
void |
visit_pop2(Instruction inst) |
void |
visit_putfield_nowb(Instruction inst) |
void |
visit_putfield(Instruction inst) |
void |
visit_putstatic_nowb(Instruction inst) |
void |
visit_putstatic(Instruction inst) |
void |
visit_rc(Instruction inst)
Replaces the expression on the top of the stack with an RCExpr.
|
void |
visit_ret(Instruction inst)
Adds a RetStmt to the statement list.
|
void |
visit_return(Instruction inst)
Adds a ReturnStmt to the statement list.
|
void |
visit_saload(Instruction inst) |
void |
visit_sastore(Instruction inst) |
void |
visit_supdate(Instruction inst)
Replace the expression at the stack depth specified in the instruction
with a UCExpr.
|
void |
visit_swap(Instruction inst) |
void |
visit_switch(Instruction inst)
Add a SwitchStmt to the statement list.
|
void |
visit(TreeVisitor visitor) |
void |
visitForceChildren(TreeVisitor visitor)
Visit all the statements in the statement list.
|
cleanup, copyInto, hasParent, key, replaceWith, replaceWith, setKey, setParent, setValueNumber, valueNumber, visitChildren, visitOnlypublic static boolean DEBUG
public static boolean FLATTEN
public static boolean USE_STACK
public static boolean AUPDATE_FIX_HACK
public static boolean AUPDATE_FIX_HACK_CHANGED
public static boolean USE_PERSISTENT
public Tree(Block block, OperandStack predStack)
block - The basic Block of code represented in this Tree.predStack - The contents of the operand stack from the previous basic
Block.public void cleanupOnly()
cleanupOnly in class Nodepublic void initLocals(java.util.Collection locals)
public void removeStmt(Stmt stmt)
stmt - The statement to removepublic void removeLastStmt()
public java.util.List stmts()
public Stmt lastStmt()
public OperandStack stack()
public void addStmtAfter(Stmt stmt, Stmt after)
stmt - The statement to add.after - The statement after which to add stmt.public void addStmtBefore(Stmt stmt, Stmt before)
stmt - The statement to insertbefore - The statement before which to add stmt.public void prependStmt(Stmt stmt)
stmt - The statement to add.public void addStmt(Stmt stmt)
stmt - A statement to add to the statement list.public void addStmtBeforeJump(Stmt stmt)
JumpStmtpublic void addInstruction(Instruction inst, Block next)
inst - The instruction to add.next - The basic block after the jump. Remember that a jump ends a
basic block.Instruction.isJsr(),
Instruction.isConditionalJump()public void addInstruction(Instruction inst)
inst - Instruction to add.public void addInstruction(Instruction inst, Subroutine sub)
inst - Instruction to add.sub - Subroutine in which inst resides. The ret instruction
always resides in a Subroutine. An astore may store
the return address of a subroutine in a local variable.Instruction.isRet()public void addLabel(Label label)
label - Label to add.public StackExpr newStack(Type type)
public LocalExpr newStackLocal(int index, Type type)
index - Stack index of variable.type - The type of the LocalExprpublic LocalExpr newLocal(int index, Type type)
index - Stack index of variable.type - The type of the LocalExprpublic LocalExpr newLocal(Type type)
type - The type of the new LocalExpr.public java.lang.String toString()
public void visit_nop(Instruction inst)
visit_nop in interface InstructionVisitorpublic void visit_ldc(Instruction inst)
visit_ldc in interface InstructionVisitorConstantExprpublic void visit_iload(Instruction inst)
visit_iload in interface InstructionVisitorLocalExprpublic void visit_lload(Instruction inst)
visit_lload in interface InstructionVisitorpublic void visit_fload(Instruction inst)
visit_fload in interface InstructionVisitorpublic void visit_dload(Instruction inst)
visit_dload in interface InstructionVisitorpublic void visit_aload(Instruction inst)
visit_aload in interface InstructionVisitorpublic void visit_iaload(Instruction inst)
visit_iaload in interface InstructionVisitorpublic void visit_laload(Instruction inst)
visit_laload in interface InstructionVisitorpublic void visit_faload(Instruction inst)
visit_faload in interface InstructionVisitorpublic void visit_daload(Instruction inst)
visit_daload in interface InstructionVisitorpublic void visit_aaload(Instruction inst)
visit_aaload in interface InstructionVisitorpublic void visit_baload(Instruction inst)
visit_baload in interface InstructionVisitorpublic void visit_caload(Instruction inst)
visit_caload in interface InstructionVisitorpublic void visit_saload(Instruction inst)
visit_saload in interface InstructionVisitorpublic void visit_istore(Instruction inst)
visit_istore in interface InstructionVisitorpublic void visit_lstore(Instruction inst)
visit_lstore in interface InstructionVisitorpublic void visit_fstore(Instruction inst)
visit_fstore in interface InstructionVisitorpublic void visit_dstore(Instruction inst)
visit_dstore in interface InstructionVisitorpublic void visit_astore(Instruction inst)
visit_astore in interface InstructionVisitorAddressStoreStmt,
LocalExpr,
StoreExprpublic void visit_iastore(Instruction inst)
visit_iastore in interface InstructionVisitorpublic void visit_lastore(Instruction inst)
visit_lastore in interface InstructionVisitorpublic void visit_fastore(Instruction inst)
visit_fastore in interface InstructionVisitorpublic void visit_dastore(Instruction inst)
visit_dastore in interface InstructionVisitorpublic void visit_aastore(Instruction inst)
visit_aastore in interface InstructionVisitorpublic void visit_bastore(Instruction inst)
visit_bastore in interface InstructionVisitorpublic void visit_castore(Instruction inst)
visit_castore in interface InstructionVisitorpublic void visit_sastore(Instruction inst)
visit_sastore in interface InstructionVisitorpublic void visit_pop(Instruction inst)
visit_pop in interface InstructionVisitorExprStmtpublic void visit_pop2(Instruction inst)
visit_pop2 in interface InstructionVisitorpublic void visit_dup(Instruction inst)
visit_dup in interface InstructionVisitorLocalExpr,
StackExpr,
StackManipStmtpublic void visit_dup_x1(Instruction inst)
visit_dup_x1 in interface InstructionVisitorpublic void visit_dup_x2(Instruction inst)
visit_dup_x2 in interface InstructionVisitorpublic void visit_dup2(Instruction inst)
visit_dup2 in interface InstructionVisitorpublic void visit_dup2_x1(Instruction inst)
visit_dup2_x1 in interface InstructionVisitorpublic void visit_dup2_x2(Instruction inst)
visit_dup2_x2 in interface InstructionVisitorpublic void visit_swap(Instruction inst)
visit_swap in interface InstructionVisitorpublic void visit_iadd(Instruction inst)
visit_iadd in interface InstructionVisitorArithExprpublic void visit_ladd(Instruction inst)
visit_ladd in interface InstructionVisitorpublic void visit_fadd(Instruction inst)
visit_fadd in interface InstructionVisitorpublic void visit_dadd(Instruction inst)
visit_dadd in interface InstructionVisitorpublic void visit_isub(Instruction inst)
visit_isub in interface InstructionVisitorpublic void visit_lsub(Instruction inst)
visit_lsub in interface InstructionVisitorpublic void visit_fsub(Instruction inst)
visit_fsub in interface InstructionVisitorpublic void visit_dsub(Instruction inst)
visit_dsub in interface InstructionVisitorpublic void visit_imul(Instruction inst)
visit_imul in interface InstructionVisitorpublic void visit_lmul(Instruction inst)
visit_lmul in interface InstructionVisitorpublic void visit_fmul(Instruction inst)
visit_fmul in interface InstructionVisitorpublic void visit_dmul(Instruction inst)
visit_dmul in interface InstructionVisitorpublic void visit_idiv(Instruction inst)
visit_idiv in interface InstructionVisitorpublic void visit_ldiv(Instruction inst)
visit_ldiv in interface InstructionVisitorpublic void visit_fdiv(Instruction inst)
visit_fdiv in interface InstructionVisitorpublic void visit_ddiv(Instruction inst)
visit_ddiv in interface InstructionVisitorpublic void visit_irem(Instruction inst)
visit_irem in interface InstructionVisitorpublic void visit_lrem(Instruction inst)
visit_lrem in interface InstructionVisitorpublic void visit_frem(Instruction inst)
visit_frem in interface InstructionVisitorpublic void visit_drem(Instruction inst)
visit_drem in interface InstructionVisitorpublic void visit_ineg(Instruction inst)
visit_ineg in interface InstructionVisitorNegExprpublic void visit_lneg(Instruction inst)
visit_lneg in interface InstructionVisitorpublic void visit_fneg(Instruction inst)
visit_fneg in interface InstructionVisitorpublic void visit_dneg(Instruction inst)
visit_dneg in interface InstructionVisitorpublic void visit_ishl(Instruction inst)
visit_ishl in interface InstructionVisitorShiftExprpublic void visit_lshl(Instruction inst)
visit_lshl in interface InstructionVisitorpublic void visit_ishr(Instruction inst)
visit_ishr in interface InstructionVisitorpublic void visit_lshr(Instruction inst)
visit_lshr in interface InstructionVisitorpublic void visit_iushr(Instruction inst)
visit_iushr in interface InstructionVisitorpublic void visit_lushr(Instruction inst)
visit_lushr in interface InstructionVisitorpublic void visit_iand(Instruction inst)
visit_iand in interface InstructionVisitorArithExprpublic void visit_land(Instruction inst)
visit_land in interface InstructionVisitorpublic void visit_ior(Instruction inst)
visit_ior in interface InstructionVisitorpublic void visit_lor(Instruction inst)
visit_lor in interface InstructionVisitorpublic void visit_ixor(Instruction inst)
visit_ixor in interface InstructionVisitorpublic void visit_lxor(Instruction inst)
visit_lxor in interface InstructionVisitorpublic void visit_iinc(Instruction inst)
visit_iinc in interface InstructionVisitorpublic void visit_i2l(Instruction inst)
visit_i2l in interface InstructionVisitorpublic void visit_i2f(Instruction inst)
visit_i2f in interface InstructionVisitorpublic void visit_i2d(Instruction inst)
visit_i2d in interface InstructionVisitorpublic void visit_l2i(Instruction inst)
visit_l2i in interface InstructionVisitorpublic void visit_l2f(Instruction inst)
visit_l2f in interface InstructionVisitorpublic void visit_l2d(Instruction inst)
visit_l2d in interface InstructionVisitorpublic void visit_f2i(Instruction inst)
visit_f2i in interface InstructionVisitorpublic void visit_f2l(Instruction inst)
visit_f2l in interface InstructionVisitorpublic void visit_f2d(Instruction inst)
visit_f2d in interface InstructionVisitorpublic void visit_d2i(Instruction inst)
visit_d2i in interface InstructionVisitorpublic void visit_d2l(Instruction inst)
visit_d2l in interface InstructionVisitorpublic void visit_d2f(Instruction inst)
visit_d2f in interface InstructionVisitorpublic void visit_i2b(Instruction inst)
visit_i2b in interface InstructionVisitorpublic void visit_i2c(Instruction inst)
visit_i2c in interface InstructionVisitorpublic void visit_i2s(Instruction inst)
visit_i2s in interface InstructionVisitorpublic void visit_lcmp(Instruction inst)
visit_lcmp in interface InstructionVisitorArithExprpublic void visit_fcmpl(Instruction inst)
visit_fcmpl in interface InstructionVisitorpublic void visit_fcmpg(Instruction inst)
visit_fcmpg in interface InstructionVisitorpublic void visit_dcmpl(Instruction inst)
visit_dcmpl in interface InstructionVisitorpublic void visit_dcmpg(Instruction inst)
visit_dcmpg in interface InstructionVisitorpublic void visit_ifeq(Instruction inst)
visit_ifeq in interface InstructionVisitorIfZeroStmtpublic void visit_ifne(Instruction inst)
visit_ifne in interface InstructionVisitorpublic void visit_iflt(Instruction inst)
visit_iflt in interface InstructionVisitorpublic void visit_ifge(Instruction inst)
visit_ifge in interface InstructionVisitorpublic void visit_ifgt(Instruction inst)
visit_ifgt in interface InstructionVisitorpublic void visit_ifle(Instruction inst)
visit_ifle in interface InstructionVisitorpublic void visit_if_icmpeq(Instruction inst)
visit_if_icmpeq in interface InstructionVisitorpublic void visit_if_icmpne(Instruction inst)
visit_if_icmpne in interface InstructionVisitorpublic void visit_if_icmplt(Instruction inst)
visit_if_icmplt in interface InstructionVisitorpublic void visit_if_icmpge(Instruction inst)
visit_if_icmpge in interface InstructionVisitorpublic void visit_if_icmpgt(Instruction inst)
visit_if_icmpgt in interface InstructionVisitorpublic void visit_if_icmple(Instruction inst)
visit_if_icmple in interface InstructionVisitorpublic void visit_if_acmpeq(Instruction inst)
visit_if_acmpeq in interface InstructionVisitorpublic void visit_if_acmpne(Instruction inst)
visit_if_acmpne in interface InstructionVisitorpublic void visit_goto(Instruction inst)
visit_goto in interface InstructionVisitorGotoStmtpublic void visit_jsr(Instruction inst)
visit_jsr in interface InstructionVisitorJsrStmtpublic void visit_ret(Instruction inst)
visit_ret in interface InstructionVisitorRetStmtpublic void visit_switch(Instruction inst)
visit_switch in interface InstructionVisitorSwitchStmtpublic void visit_ireturn(Instruction inst)
visit_ireturn in interface InstructionVisitorReturnExprStmtpublic void visit_lreturn(Instruction inst)
visit_lreturn in interface InstructionVisitorpublic void visit_freturn(Instruction inst)
visit_freturn in interface InstructionVisitorpublic void visit_dreturn(Instruction inst)
visit_dreturn in interface InstructionVisitorpublic void visit_areturn(Instruction inst)
visit_areturn in interface InstructionVisitorpublic void visit_return(Instruction inst)
visit_return in interface InstructionVisitorpublic void visit_getstatic(Instruction inst)
visit_getstatic in interface InstructionVisitorpublic void visit_putstatic(Instruction inst)
visit_putstatic in interface InstructionVisitorpublic void visit_putstatic_nowb(Instruction inst)
visit_putstatic_nowb in interface InstructionVisitorpublic void visit_getfield(Instruction inst)
visit_getfield in interface InstructionVisitorpublic void visit_putfield(Instruction inst)
visit_putfield in interface InstructionVisitorpublic void visit_putfield_nowb(Instruction inst)
visit_putfield_nowb in interface InstructionVisitorpublic void visit_invokevirtual(Instruction inst)
visit_invokevirtual in interface InstructionVisitorCallMethodExpr,
CallStaticExprpublic void visit_invokespecial(Instruction inst)
visit_invokespecial in interface InstructionVisitorpublic void visit_invokestatic(Instruction inst)
visit_invokestatic in interface InstructionVisitorpublic void visit_invokeinterface(Instruction inst)
visit_invokeinterface in interface InstructionVisitorpublic void visit_new(Instruction inst)
visit_new in interface InstructionVisitorNewExprpublic void visit_newarray(Instruction inst)
visit_newarray in interface InstructionVisitorpublic void visit_arraylength(Instruction inst)
visit_arraylength in interface InstructionVisitorArrayLengthExprpublic void visit_athrow(Instruction inst)
visit_athrow in interface InstructionVisitorThrowStmtpublic void visit_checkcast(Instruction inst)
visit_checkcast in interface InstructionVisitorCastExprpublic void visit_instanceof(Instruction inst)
visit_instanceof in interface InstructionVisitorInstanceOfExprpublic void visit_monitorenter(Instruction inst)
visit_monitorenter in interface InstructionVisitorMonitorStmtpublic void visit_monitorexit(Instruction inst)
visit_monitorexit in interface InstructionVisitorpublic void visit_multianewarray(Instruction inst)
visit_multianewarray in interface InstructionVisitorNewMultiArrayExprpublic void visit_ifnull(Instruction inst)
visit_ifnull in interface InstructionVisitorpublic void visit_ifnonnull(Instruction inst)
visit_ifnonnull in interface InstructionVisitorpublic void visit_rc(Instruction inst)
visit_rc in interface InstructionVisitorRCExprpublic void visit_aupdate(Instruction inst)
visit_aupdate in interface InstructionVisitorpublic void visit_supdate(Instruction inst)
visit_supdate in interface InstructionVisitorUCExprpublic void visit_aswizzle(Instruction inst)
visit_aswizzle in interface InstructionVisitorSCStmtpublic void visit_aswrange(Instruction inst)
visit_aswrange in interface InstructionVisitorSRStmtpublic void visitForceChildren(TreeVisitor visitor)
visitForceChildren in class Nodepublic void visit(TreeVisitor visitor)