Module org.eclipse.persistence.asm
Class FrameNode
java.lang.Object
org.eclipse.persistence.internal.libraries.asm.tree.AbstractInsnNode
org.eclipse.persistence.internal.libraries.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
Opcodes.V1_6
.-
Field Summary
Modifier and TypeFieldDescriptionThe types of the local variables of this stack map frame.The types of the operand stack elements of this stack map frame.int
The type of this frame.Fields inherited from class org.eclipse.persistence.internal.libraries.asm.tree.AbstractInsnNode
FIELD_INSN, FRAME, IINC_INSN, INSN, INT_INSN, invisibleTypeAnnotations, INVOKE_DYNAMIC_INSN, JUMP_INSN, LABEL, LDC_INSN, LINE, LOOKUPSWITCH_INSN, METHOD_INSN, MULTIANEWARRAY_INSN, opcode, TABLESWITCH_INSN, TYPE_INSN, VAR_INSN, visibleTypeAnnotations
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(MethodVisitor methodVisitor) Makes the given method visitor visit this instruction.Returns a copy of this instruction.int
getType()
Returns the type of this instruction.Methods inherited from class org.eclipse.persistence.internal.libraries.asm.tree.AbstractInsnNode
acceptAnnotations, cloneAnnotations, getNext, getOpcode, getPrevious
-
Field Details
-
type
public int typeThe type of this frame. Must beOpcodes.F_NEW
for expanded frames, orOpcodes.F_FULL
,Opcodes.F_APPEND
,Opcodes.F_CHOP
,Opcodes.F_SAME
orOpcodes.F_APPEND
,Opcodes.F_SAME1
for 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_NEW
for expanded frames, orOpcodes.F_FULL
,Opcodes.F_APPEND
,Opcodes.F_CHOP
,Opcodes.F_SAME
orOpcodes.F_APPEND
,Opcodes.F_SAME1
for compressed frames.numLocal
- number of local variables of this stack map frame. Long and double values count for one variable.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
). Long and double values are represented by a single element.numStack
- number of operand stack elements of this stack map frame. Long and double values count for one stack element.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
). Long and double values are represented by a single element.
-
-
Method Details
-
getType
public int getType()Description copied from class:AbstractInsnNode
Returns the type of this instruction.- Specified by:
getType
in classAbstractInsnNode
- Returns:
- the type of this instruction, i.e. one the constants defined in this class.
-
accept
Description copied from class:AbstractInsnNode
Makes the given method visitor visit this instruction.- Specified by:
accept
in classAbstractInsnNode
- Parameters:
methodVisitor
- a method visitor.
-
clone
Description copied from class:AbstractInsnNode
Returns a copy of this instruction.- Specified by:
clone
in classAbstractInsnNode
- Parameters:
clonedLabels
- a map from LabelNodes to cloned LabelNodes.- Returns:
- a copy of this instruction. The returned instruction does not belong to any
InsnList
.
-