org.objectweb.asm

## Class TypePath

- java.lang.Object
- - org.objectweb.asm.TypePath

-     public class TypePath
      extends Object

  The path to a type argument, wildcard bound, array element type, or static inner type within an enclosing type.
  Author:
    Eric Bruneton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ARRAY_ELEMENT` A type path step that steps into the element type of an array type.
    `static int` | `INNER_TYPE` A type path step that steps into the nested type of a class type.
    `static int` | `TYPE_ARGUMENT` A type path step that steps into a type argument of a generic type.
    `static int` | `WILDCARD_BOUND` A type path step that steps into the bound of a wildcard type.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static TypePath` | `fromString(String typePath)` Converts a type path in string form, in the format used by `toString()`, into a TypePath object.
    `int` | `getLength()` Returns the length of this path.
    `int` | `getStep(int index)` Returns the value of the given step of this path.
    `int` | `getStepArgument(int index)` Returns the index of the type argument that the given step is stepping into.
    `String` | `toString()` Returns a string representation of this type path.

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

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

- - ### Field Detail

    - #### ARRAY_ELEMENT

          public static final int ARRAY_ELEMENT

      A type path step that steps into the element type of an array type. See `getStep`.
      See Also:
        Constant Field Values

    - #### INNER_TYPE

          public static final int INNER_TYPE

      A type path step that steps into the nested type of a class type. See `getStep`.
      See Also:
        Constant Field Values

    - #### WILDCARD_BOUND

          public static final int WILDCARD_BOUND

      A type path step that steps into the bound of a wildcard type. See `getStep`.
      See Also:
        Constant Field Values

    - #### TYPE_ARGUMENT

          public static final int TYPE_ARGUMENT

      A type path step that steps into a type argument of a generic type. See `getStep`.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getLength

          public int getLength()

      Returns the length of this path.
      Returns:
        the length of this path.

    - #### getStep

          public int getStep(int index)

      Returns the value of the given step of this path.
      Parameters:
        `index` - an index between 0 and `getLength()`, exclusive.
      Returns:
        `ARRAY_ELEMENT`, `INNER_TYPE`, `WILDCARD_BOUND`, or `TYPE_ARGUMENT`.

    - #### getStepArgument

          public int getStepArgument(int index)

      Returns the index of the type argument that the given step is stepping into. This method should only be used for steps whose value is `TYPE_ARGUMENT`.
      Parameters:
        `index` - an index between 0 and `getLength()`, exclusive.
      Returns:
        the index of the type argument that the given step is stepping into.

    - #### fromString

          public static TypePath fromString(String typePath)

      Converts a type path in string form, in the format used by `toString()`, into a TypePath object.
      Parameters:
        `typePath` - a type path in string form, in the format used by `toString()`. May be null or empty.
      Returns:
        the corresponding TypePath object, or null if the path is empty.

    - #### toString

          public String toString()

      Returns a string representation of this type path. `ARRAY_ELEMENT` steps are represented with '[', `INNER_TYPE` steps with '.', `WILDCARD_BOUND` steps with '*' and `TYPE_ARGUMENT` steps with their type argument index in decimal form followed by ';'.
      Overrides:
        `toString` in class `Object`