org.objectweb.asm.commons
public class AnalyzerAdapter extends MethodAdapter
(int, int, Object[], int, Object[]) visitFrame
calls. This
adapter must be used with the
EXPAND_FRAMES option. Each visitXXX
instruction delegates to the next visitor in the chain, if any, and then
simulates the effect of this instruction on the stack map frame, represented
by locals and stack. The next visitor in the chain can get
the state of the stack map frame before each instruction by reading
the value of these fields in its visitXXX methods (this requires a
reference to the AnalyzerAdapter that is before it in the chain).
Field Summary | |
---|---|
List | localsList of the local variable slots for current execution
frame. |
List | stackList of the operand stack slots for current execution
frame. |
Constructor Summary | |
---|---|
AnalyzerAdapter(String owner, int access, String name, String desc, MethodVisitor mv)
Creates a new AnalyzerAdapter.
|
Method Summary | |
---|---|
void | visitFieldInsn(int opcode, String owner, String name, String desc) |
void | visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack) |
void | visitIincInsn(int var, int increment) |
void | visitInsn(int opcode) |
void | visitIntInsn(int opcode, int operand) |
void | visitJumpInsn(int opcode, Label label) |
void | visitLabel(Label label) |
void | visitLdcInsn(Object cst) |
void | visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) |
void | visitMaxs(int maxStack, int maxLocals) |
void | visitMethodInsn(int opcode, String owner, String name, String desc) |
void | visitMultiANewArrayInsn(String desc, int dims) |
void | visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels) |
void | visitTypeInsn(int opcode, String type) |
void | visitVarInsn(int opcode, int var) |
List
of the local variable slots for current execution
frame. Primitive types are represented by TOP,
INTEGER, FLOAT, LONG,
DOUBLE,NULL or
UNINITIALIZED_THIS (long and double are represented by a
two elements, the second one being TOP). Reference types are represented
by String objects (representing internal names), and uninitialized types
by Label objects (this label designates the NEW instruction that created
this uninitialized value). This field is null for unreacheable
instructions.List
of the operand stack slots for current execution
frame. Primitive types are represented by TOP,
INTEGER, FLOAT, LONG,
DOUBLE,NULL or
UNINITIALIZED_THIS (long and double are represented by a
two elements, the second one being TOP). Reference types are represented
by String objects (representing internal names), and uninitialized types
by Label objects (this label designates the NEW instruction that created
this uninitialized value). This field is null for unreacheable
instructions.Parameters: owner the owner's class name. access the method's access flags (see Opcodes). name the method's name. desc the method's descriptor (see Type
). mv the method visitor to which this adapter delegates calls. May
be null.