Class FrameNode
java.lang.Object
org.objectweb.asm.tree.AbstractInsnNode
org.objectweb.asm.tree.FrameNode
A node that represents a stack map frame. These nodes are pseudo instruction
nodes in order to be inserted in an instruction list. In fact these nodes
must(*) be inserted just before any instruction node i that
follows an unconditionnal branch instruction such as GOTO or THROW, that is
the target of a jump instruction, or that starts an exception handler block.
The stack map frame types must describe the values of the local variables and
of the operand stack elements just before i is executed.
(*) this is mandatory only for classes whose version is greater than or equal to
(*) this is mandatory only for classes whose version is greater than or equal to
V1_6.- Author:
- Eric Bruneton
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe types of the local variables of this stack map frame.The types of the operand stack elements of this stack map frame.intThe type of this frame.Fields inherited from class AbstractInsnNode
FIELD_INSN, FRAME, IINC_INSN, INSN, INT_INSN, JUMP_INSN, LABEL, LDC_INSN, LINE, LOOKUPSWITCH_INSN, METHOD_INSN, MULTIANEWARRAY_INSN, opcode, TABLESWITCH_INSN, TYPE_INSN, VAR_INSN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(MethodVisitor mv) Makes the given visitor visit this stack map frame.Returns a copy of this instruction.intgetType()Returns the type of this instruction.Methods inherited from class AbstractInsnNode
getNext, getOpcode, getPrevious
-
Field Details
-
type
public int typeThe type of this frame. Must beOpcodes.F_NEWfor expanded frames, orOpcodes.F_FULL,Opcodes.F_APPEND,Opcodes.F_CHOP,Opcodes.F_SAMEorOpcodes.F_APPEND,Opcodes.F_SAME1for compressed frames. -
local
The types of the local variables of this stack map frame. Elements of this list can be Integer, String or LabelNode objects (for primitive, reference and uninitialized types respectively - seeMethodVisitor). -
stack
The types of the operand stack elements of this stack map frame. Elements of this list can be Integer, String or LabelNode objects (for primitive, reference and uninitialized types respectively - seeMethodVisitor).
-
-
Constructor Details
-
FrameNode
Constructs a newFrameNode.- Parameters:
type- the type of this frame. Must beOpcodes.F_NEWfor expanded frames, orOpcodes.F_FULL,Opcodes.F_APPEND,Opcodes.F_CHOP,Opcodes.F_SAMEorOpcodes.F_APPEND,Opcodes.F_SAME1for compressed frames.nLocal- number of local variables of this stack map frame.local- the types of the local variables of this stack map frame. Elements of this list can be Integer, String or LabelNode objects (for primitive, reference and uninitialized types respectively - seeMethodVisitor).nStack- number of operand stack elements of this stack map frame.stack- the types of the operand stack elements of this stack map frame. Elements of this list can be Integer, String or LabelNode objects (for primitive, reference and uninitialized types respectively - seeMethodVisitor).
-
-
Method Details
-
getType
public int getType()Description copied from class:AbstractInsnNodeReturns the type of this instruction.- Specified by:
getTypein classAbstractInsnNode- Returns:
- the type of this instruction, i.e. one the constants defined in this class.
-
accept
Makes the given visitor visit this stack map frame.- Specified by:
acceptin classAbstractInsnNode- Parameters:
mv- a method visitor.
-
clone
Description copied from class:AbstractInsnNodeReturns a copy of this instruction.- Specified by:
clonein classAbstractInsnNode- Parameters:
labels- a map from LabelNodes to cloned LabelNodes.- Returns:
- a copy of this instruction. The returned instruction does not
belong to any
InsnList.
-