Package org.spongepowered.asm.mixin.injection.selectors

## Enum ElementNode.NodeType

- java.lang.Object
- - java.lang.Enum<ElementNode.NodeType>
  - - org.spongepowered.asm.mixin.injection.selectors.ElementNode.NodeType

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<ElementNode.NodeType>`
  Enclosing class:
    ElementNode<TNode>

      public static enum ElementNode.NodeType
      extends java.lang.Enum<ElementNode.NodeType>

  Element node type, returned by `getType` so consumers don't need to do instanceof checks, and allows switching on element type in a more expressive way

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `FIELD` | A field node
    `FIELD_INSN` | A get or put field instruction
    `INVOKEDYNAMIC_INSN` | An INVOKEDYNAMIC instruction
    `METHOD` | A method node
    `METHOD_INSN` | An invoke instruction
    `UNDEFINED` | None or unknown type

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `boolean` | `hasField` | Whether this node holds a field, implies that calling `getField` will return a value
    `boolean` | `hasInsn` | Whether this node holds an insn, implies that calling `getInsn` will return a value
    `boolean` | `hasMethod` | Whether this node holds a method, implies that calling `getMethod` will return a value

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ElementNode.NodeType` | `valueOf​(java.lang.String name)` | Returns the enum constant of this type with the specified name.
    `static ElementNode.NodeType[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

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

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### UNDEFINED

          public static final ElementNode.NodeType UNDEFINED

      None or unknown type

    - #### METHOD

          public static final ElementNode.NodeType METHOD

      A method node

    - #### FIELD

          public static final ElementNode.NodeType FIELD

      A field node

    - #### METHOD_INSN

          public static final ElementNode.NodeType METHOD_INSN

      An invoke instruction

    - #### FIELD_INSN

          public static final ElementNode.NodeType FIELD_INSN

      A get or put field instruction

    - #### INVOKEDYNAMIC_INSN

          public static final ElementNode.NodeType INVOKEDYNAMIC_INSN

      An INVOKEDYNAMIC instruction

  - ### Field Detail

    - #### hasMethod

          public final boolean hasMethod

      Whether this node holds a method, implies that calling `getMethod` will return a value

    - #### hasField

          public final boolean hasField

      Whether this node holds a field, implies that calling `getField` will return a value

    - #### hasInsn

          public final boolean hasInsn

      Whether this node holds an insn, implies that calling `getInsn` will return a value

  - ### Method Detail

    - #### values

          public static ElementNode.NodeType[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (ElementNode.NodeType c : ElementNode.NodeType.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static ElementNode.NodeType valueOf​(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null