Class FrameNode


  • public class FrameNode
    extends AbstractInsnNode
    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 Opcodes.V1_6.
    • Constructor Detail

      • FrameNode

        public FrameNode​(int type,
                         int numLocal,
                         Object[] local,
                         int numStack,
                         Object[] stack)
        Constructs a new FrameNode.
        Parameters:
        type - the type of this frame. Must be Opcodes.F_NEW for expanded frames, or Opcodes.F_FULL, Opcodes.F_APPEND, Opcodes.F_CHOP, Opcodes.F_SAME or Opcodes.F_APPEND, Opcodes.F_SAME1 for compressed frames.
        numLocal - 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 - see MethodVisitor).
        numStack - 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 - see MethodVisitor).
    • Method Detail

      • getType

        public int getType()
        Description copied from class: AbstractInsnNode
        Returns the type of this instruction.
        Specified by:
        getType in class AbstractInsnNode
        Returns:
        the type of this instruction, i.e. one the constants defined in this class.
      • accept

        public void accept​(MethodVisitor methodVisitor)
        Description copied from class: AbstractInsnNode
        Makes the given method visitor visit this instruction.
        Specified by:
        accept in class AbstractInsnNode
        Parameters:
        methodVisitor - a method visitor.