printFieldInsn
public void printFieldInsn(int opcode,
String owner,
String name,
String desc)
Prints a field instruction. A field instruction is an instruction that
loads or stores the value of a field of an object.
- printFieldInsn in interface PrintCodeVisitor
opcode
- the opcode of the type instruction to be printed. This opcode
is either GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD.owner
- the internal name of the field's owner class (see getInternalName
).name
- the field's name.desc
- the field's descriptor (see Type
).
printIincInsn
public void printIincInsn(int var,
int increment)
Prints an IINC instruction.
- printIincInsn in interface PrintCodeVisitor
var
- index of the local variable to be incremented.increment
- amount to increment the local variable by.
printInsn
public void printInsn(int opcode)
Prints a zero operand instruction.
- printInsn in interface PrintCodeVisitor
opcode
- the opcode of the instruction to be printed. This opcode is
either NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2,
ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1,
FCONST_2, DCONST_0, DCONST_1,
IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD,
IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE,
SASTORE,
POP, POP2, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP,
IADD, LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL,
DMUL, IDIV, LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG,
FNEG, DNEG, ISHL, LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR,
LOR, IXOR, LXOR,
I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C,
I2S,
LCMP, FCMPL, FCMPG, DCMPL, DCMPG,
IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN,
ARRAYLENGTH,
ATHROW,
MONITORENTER, or MONITOREXIT.
printIntInsn
public void printIntInsn(int opcode,
int operand)
Prints an instruction with a single int operand.
- printIntInsn in interface PrintCodeVisitor
opcode
- the opcode of the instruction to be printed. This opcode is
either BIPUSH, SIPUSH or NEWARRAY.operand
- the operand of the instruction to be printed.
printJumpInsn
public void printJumpInsn(int opcode,
Label label)
Prints a jump instruction. A jump instruction is an instruction that may
jump to another instruction.
- printJumpInsn in interface PrintCodeVisitor
opcode
- the opcode of the type instruction to be printed. This opcode
is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, IF_ICMPNE,
IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, IF_ACMPNE,
GOTO, JSR, IFNULL or IFNONNULL.label
- the operand of the instruction to be printed. This operand is
a label that designates the instruction to which the jump instruction
may jump.
printLabel
public void printLabel(Label label)
Prints a label. A label designates the instruction that will be visited
just after it.
- printLabel in interface PrintCodeVisitor
printLineNumber
public void printLineNumber(int line,
Label start)
Prints a line number declaration.
- printLineNumber in interface PrintCodeVisitor
line
- a line number. This number refers to the source file
from which the class was compiled.start
- the first instruction corresponding to this line number.
printLocalVariable
public void printLocalVariable(String name,
String desc,
Label start,
Label end,
int index)
Prints a local variable declaration.
- printLocalVariable in interface PrintCodeVisitor
name
- the name of a local variable.desc
- the type descriptor of this local variable.start
- the first instruction corresponding to the scope of this
local variable (inclusive).end
- the last instruction corresponding to the scope of this
local variable (exclusive).index
- the local variable's index.
printLookupSwitchInsn
public void printLookupSwitchInsn(Label dflt,
keys[] ,
labels[] )
Prints a LOOKUPSWITCH instruction.
- printLookupSwitchInsn in interface PrintCodeVisitor
dflt
- beginning of the default handler block.
printMaxs
public void printMaxs(int maxStack,
int maxLocals)
Prints the maximum stack size and the maximum number of local variables of
the method.
- printMaxs in interface PrintCodeVisitor
maxStack
- maximum stack size of the method.maxLocals
- maximum number of local variables for the method.
printMethodInsn
public void printMethodInsn(int opcode,
String owner,
String name,
String desc)
Prints a method instruction. A method instruction is an instruction that
invokes a method.
- printMethodInsn in interface PrintCodeVisitor
opcode
- the opcode of the type instruction to be printed. This opcode
is either INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or
INVOKEINTERFACE.owner
- the internal name of the method's owner class (see getInternalName
).name
- the method's name.desc
- the method's descriptor (see Type
).
printMultiANewArrayInsn
public void printMultiANewArrayInsn(String desc,
int dims)
Prints a MULTIANEWARRAY instruction.
- printMultiANewArrayInsn in interface PrintCodeVisitor
desc
- an array type descriptor (see Type
).dims
- number of dimensions of the array to allocate.
printTableSwitchInsn
public void printTableSwitchInsn(int min,
int max,
Label dflt,
labels[] )
Prints a TABLESWITCH instruction.
- printTableSwitchInsn in interface PrintCodeVisitor
min
- the minimum key value.max
- the maximum key value.dflt
- beginning of the default handler block.
printTryCatchBlock
public void printTryCatchBlock(Label start,
Label end,
Label handler,
String type)
Prints a try catch block.
- printTryCatchBlock in interface PrintCodeVisitor
start
- beginning of the exception handler's scope (inclusive).end
- end of the exception handler's scope (exclusive).handler
- beginning of the exception handler's code.type
- internal name of the type of exceptions handled by the handler,
or null to catch any exceptions (for "finally" blocks).
printTypeInsn
public void printTypeInsn(int opcode,
String desc)
Prints a type instruction. A type instruction is an instruction that
takes a type descriptor as parameter.
- printTypeInsn in interface PrintCodeVisitor
opcode
- the opcode of the type instruction to be printed. This opcode
is either NEW, ANEWARRAY, CHECKCAST or INSTANCEOF.desc
- the operand of the instruction to be printed. This operand is
must be a fully qualified class name in internal form, or a the type
descriptor of an array type (see Type
).
printVarInsn
public void printVarInsn(int opcode,
int var)
Prints a local variable instruction. A local variable instruction is an
instruction that loads or stores the value of a local variable.
- printVarInsn in interface PrintCodeVisitor
opcode
- the opcode of the local variable instruction to be printed.
This opcode is either ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE,
LSTORE, FSTORE, DSTORE, ASTORE or RET.var
- the operand of the instruction to be printed. This operand is
the index of a local variable.