org.ow2.asmdex.tree
Class TypeInsnNode

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

public class TypeInsnNode
extends AbstractInsnNode

A node that represents a type instruction. A type instruction is an instruction that takes a type descriptor as parameter.

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

Field Summary
 java.lang.String desc
          The operand of this instruction.
 int destinationRegister
          The destination register.
 int referenceBearingRegister
          The reference bearing register.
 int sizeRegister
          The size register.
 
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
TypeInsnNode(int opcode, int destinationRegister, int referenceBearingRegister, int sizeRegister, java.lang.String type)
          Constructs a new TypeInsnNode.
 
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.
 void setOpcode(int opcode)
          Sets the opcode 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

desc

public java.lang.String desc
The operand of this instruction.


destinationRegister

public int destinationRegister
The destination register. Used only by CONST-CLASS, INSTANCE-OF, NEW-INSTANCE, NEW-ARRAY.


referenceBearingRegister

public int referenceBearingRegister
The reference bearing register. Only used for CHECK-CAST, INSTANCE-OF instructions.


sizeRegister

public int sizeRegister
The size register. Used only for NEW-ARRAY.

Constructor Detail

TypeInsnNode

public TypeInsnNode(int opcode,
                    int destinationRegister,
                    int referenceBearingRegister,
                    int sizeRegister,
                    java.lang.String type)
Constructs a new TypeInsnNode.

Parameters:
opcode - the opcode of the type instruction to be visited. This opcode is either CONST-CLASS, NEW-ARRAY, NEW-INSTANCE, CHECK-CAST or INSTANCE-OF.
destinationRegister - the destination register. Used only by CONST-CLASS, INSTANCE-OF, NEW-INSTANCE, NEW-ARRAY.
referenceBearingRegister - reference bearing register. Only used for CHECK-CAST, INSTANCE-OF instructions.
sizeRegister - size register. Used only for NEW-ARRAY.
type - the operand of the instruction to be constructed.
Method Detail

setOpcode

public void setOpcode(int opcode)
Sets the opcode of this instruction.

Parameters:
opcode - the new instruction opcode. This opcode is either CONST-CLASS, NEW-ARRAY, NEW-INSTANCE, CHECK-CAST or INSTANCE-OF.

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.