org.ow2.asmdex.tree
Class TableSwitchInsnNode

java.lang.Object
  extended by org.ow2.asmdex.tree.AbstractInsnNode
      extended by org.ow2.asmdex.tree.TableSwitchInsnNode

public class TableSwitchInsnNode
extends AbstractInsnNode

A node that represents a TABLESWITCH instruction.

Author:
Eric Bruneton, Julien Névo (adaptation to AsmDex).

Field Summary
 LabelNode dflt
          Beginning of the default handler block.
 java.util.List<LabelNode> labels
          Beginnings of the handler blocks.
 int max
          The maximum key value.
 int min
          The minimum key value.
 int register
          The register to test.
 
Fields inherited from class org.ow2.asmdex.tree.AbstractInsnNode
ARRAY_LENGTH_INSN, ARRAY_OPERATION_INSN, FIELD_INSN, FILL_ARRAY_DATA_INSN, INSN, INT_INSN, JUMP_INSN, LABEL_INSN, LINE, LOOKUPSWITCH_INSN, METHOD_INSN, MULTIANEWARRAY_INSN, opcode, OPERATION_INSN, STRING_INSN, TABLESWITCH_INSN, TYPE_INSN, VAR_INSN, VAR_INSN_LONG
 
Constructor Summary
TableSwitchInsnNode(int register, int min, int max, LabelNode dflt, LabelNode[] labels)
          Constructs a new TableSwitchInsnNode.
 
Method Summary
 void accept(MethodVisitor mv)
          Makes the given code visitor visit this instruction.
 AbstractInsnNode clone(java.util.Map<LabelNode,LabelNode> labels)
          Returns a copy of this instruction.
 int getType()
          Returns the type of this instruction.
 
Methods inherited from class org.ow2.asmdex.tree.AbstractInsnNode
getNext, getOpcode, getPrevious
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

register

public int register
The register to test.


min

public int min
The minimum key value.


max

public int max
The maximum key value.


dflt

public LabelNode dflt
Beginning of the default handler block.


labels

public java.util.List<LabelNode> labels
Beginnings of the handler blocks. This list is a list of LabelNode objects.

Constructor Detail

TableSwitchInsnNode

public TableSwitchInsnNode(int register,
                           int min,
                           int max,
                           LabelNode dflt,
                           LabelNode[] labels)
Constructs a new TableSwitchInsnNode.

Parameters:
register - the register to test.
min - the minimum key value.
max - the maximum key value.
dflt - beginning of the default handler block.
labels - beginnings of the handler blocks. labels[i] is the beginning of the handler block for the min + i key.
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 mv)
Description copied from class: AbstractInsnNode
Makes the given code visitor visit this instruction.

Specified by:
accept in class AbstractInsnNode
Parameters:
mv - a code visitor.

clone

public AbstractInsnNode clone(java.util.Map<LabelNode,LabelNode> labels)
Description copied from class: AbstractInsnNode
Returns a copy of this instruction.

Specified by:
clone in class AbstractInsnNode
Parameters:
labels - a map from LabelNodes to cloned LabelNodes.
Returns:
a copy of this instruction. The returned instruction does not belong to any InsnList.