InsnNode (ASM 5.0.4 Documentation)
Date: 2015-09-18

org.objectweb.asm.tree

## Class InsnNode

- java.lang.Object
- - org.objectweb.asm.tree.AbstractInsnNode
  - - org.objectweb.asm.tree.InsnNode

-     public class InsnNode
      extends AbstractInsnNode

  A node that represents a zero operand instruction.
  Author:
    Eric Bruneton

- - ### Field Summary

    - ### Fields inherited from class org.objectweb.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

    Constructors
    Constructor and Description
    `InsnNode(int opcode)` Constructs a new `InsnNode`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(MethodVisitor mv)` Makes the given visitor visit this instruction.
    `AbstractInsnNode` | `clone(Map<LabelNode,LabelNode> labels)` Returns a copy of this instruction.
    `int` | `getType()` Returns the type of this instruction.

    - ### Methods inherited from class org.objectweb.asm.tree.AbstractInsnNode

      `acceptAnnotations, cloneAnnotations, getNext, getOpcode, getPrevious`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InsnNode

          public InsnNode(int opcode)

      Constructs a new `InsnNode`.
      Parameters:
        `opcode` - the opcode of the instruction to be constructed. This opcode must be NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1, FCONST_2, DCONST_0, DCONST_1, IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE, SASTORE, POP, POP2, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, ISHL, LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR, I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C, I2S, LCMP, FCMPL, FCMPG, DCMPL, DCMPG, IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN, ARRAYLENGTH, ATHROW, MONITORENTER, or MONITOREXIT.

  - ### 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)

      Makes the given visitor visit this instruction.
      Specified by:
        `accept` in class `AbstractInsnNode`
      Parameters:
        `mv` - a method visitor.

    - #### clone

          public AbstractInsnNode clone(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`.