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

org.objectweb.asm.tree

## Class MethodInsnNode

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

-     public class MethodInsnNode
      extends AbstractInsnNode

  A node that represents a method instruction. A method instruction is an instruction that invokes a method.
  Author:
    Eric Bruneton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `String` | `desc` The method's descriptor (see `Type`).
    `boolean` | `itf` If the method's owner class if an interface.
    `String` | `name` The method's name.
    `String` | `owner` The internal name of the method's owner class (see `getInternalName`).

    - ### 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
    `MethodInsnNode(int opcode, String owner, String name, String desc)` Deprecated.
    `MethodInsnNode(int opcode, String owner, String name, String desc, boolean itf)` Constructs a new `MethodInsnNode`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(MethodVisitor mv)` Makes the given code visitor visit this instruction.
    `AbstractInsnNode` | `clone(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.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`

- - ### Field Detail

    - #### owner

          public String owner

      The internal name of the method's owner class (see `getInternalName`).

    - #### name

          public String name

      The method's name.

    - #### desc

          public String desc

      The method's descriptor (see `Type`).

    - #### itf

          public boolean itf

      If the method's owner class if an interface.

  - ### Constructor Detail

    - #### MethodInsnNode

          @Deprecated
          public MethodInsnNode(int opcode,
                                   String owner,
                                   String name,
                                   String desc)

      Deprecated.
      Constructs a new `MethodInsnNode`.
      Parameters:
        `opcode` - the opcode of the type instruction to be constructed. This opcode must be INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.
        `owner` - the internal name of the method's owner class (see `getInternalName`).
        `name` - the method's name.
        `desc` - the method's descriptor (see `Type`).

    - #### MethodInsnNode

          public MethodInsnNode(int opcode,
                        String owner,
                        String name,
                        String desc,
                        boolean itf)

      Constructs a new `MethodInsnNode`.
      Parameters:
        `opcode` - the opcode of the type instruction to be constructed. This opcode must be INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.
        `owner` - the internal name of the method's owner class (see `getInternalName`).
        `name` - the method's name.
        `desc` - the method's descriptor (see `Type`).
        `itf` - if the method's owner class is an interface.

  - ### Method Detail

    - #### setOpcode

          public void setOpcode(int opcode)

      Sets the opcode of this instruction.
      Parameters:
        `opcode` - the new instruction opcode. This opcode must be INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.

    - #### 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(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`.