com.googlecode.aviator.asm.tree
类 FrameNode

java.lang.Object
  继承者 com.googlecode.aviator.asm.tree.AbstractInsnNode
      继承者 com.googlecode.aviator.asm.tree.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 V1_6.

作者:
Eric Bruneton

字段摘要
 java.util.List local
          The types of the local variables of this stack map frame.
 java.util.List stack
          The types of the operand stack elements of this stack map frame.
 int type
          The type of this frame.
 
从类 com.googlecode.aviator.asm.tree.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
 
构造方法摘要
FrameNode(int type, int nLocal, java.lang.Object[] local, int nStack, java.lang.Object[] stack)
          Constructs a new FrameNode.
 
方法摘要
 void accept(MethodVisitor mv)
          Makes the given visitor visit this stack map frame.
 AbstractInsnNode clone(java.util.Map labels)
          Returns a copy of this instruction.
 int getType()
          Returns the type of this instruction.
 
从类 com.googlecode.aviator.asm.tree.AbstractInsnNode 继承的方法
getNext, getOpcode, getPrevious
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

type

public int 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.


local

public java.util.List 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).


stack

public java.util.List 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).

构造方法详细信息

FrameNode

public FrameNode(int type,
                 int nLocal,
                 java.lang.Object[] local,
                 int nStack,
                 java.lang.Object[] stack)
Constructs a new FrameNode.

参数:
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.
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 - see MethodVisitor).
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 - see MethodVisitor).
方法详细信息

getType

public int getType()
从类 AbstractInsnNode 复制的描述
Returns the type of this instruction.

指定者:
AbstractInsnNode 中的 getType
返回:
the type of this instruction, i.e. one the constants defined in this class.

accept

public void accept(MethodVisitor mv)
Makes the given visitor visit this stack map frame.

指定者:
AbstractInsnNode 中的 accept
参数:
mv - a method visitor.

clone

public AbstractInsnNode clone(java.util.Map labels)
从类 AbstractInsnNode 复制的描述
Returns a copy of this instruction.

指定者:
AbstractInsnNode 中的 clone
参数:
labels - a map from LabelNodes to cloned LabelNodes.
返回:
a copy of this instruction. The returned instruction does not belong to any InsnList.


Copyright © 2011. All Rights Reserved.