类 TypePath

java.lang.Object
cn.taketoday.bytecode.TypePath

public final class TypePath extends Object
The path to a type argument, wildcard bound, array element type, or static inner type within an enclosing type.
作者:
Eric Bruneton
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    static final int
    A type path step that steps into the element type of an array type.
    static final int
    A type path step that steps into the nested type of a class type.
    static final int
    A type path step that steps into a type argument of a generic type.
    private final byte[]
    The byte array where the 'type_path' structure - as defined in the Java Virtual Machine Specification (JVMS) - corresponding to this TypePath is stored.
    private final int
    The offset of the first byte of the type_path JVMS structure in typePathContainer.
    static final int
    A type path step that steps into the bound of a wildcard type.
  • 构造器概要

    构造器
    构造器
    说明
    TypePath(byte[] typePathContainer, int typePathOffset)
    Constructs a new TypePath.
  • 方法概要

    修饰符和类型
    方法
    说明
    static TypePath
    fromString(String typePath)
    Converts a type path in string form, in the format used by toString(), into a TypePath object.
    int
    Returns the length of this path, i.e. its number of steps.
    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.
    (专用程序包) static void
    put(TypePath typePath, ByteVector output)
    Puts the type_path JVMS structure corresponding to the given TypePath into the given ByteVector.
    Returns a string representation of this type path.

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 字段详细资料

    • ARRAY_ELEMENT

      public static final int ARRAY_ELEMENT
      A type path step that steps into the element type of an array type. See getStep(int).
      另请参阅:
    • INNER_TYPE

      public static final int INNER_TYPE
      A type path step that steps into the nested type of a class type. See getStep(int).
      另请参阅:
    • WILDCARD_BOUND

      public static final int WILDCARD_BOUND
      A type path step that steps into the bound of a wildcard type. See getStep(int).
      另请参阅:
    • TYPE_ARGUMENT

      public static final int TYPE_ARGUMENT
      A type path step that steps into a type argument of a generic type. See getStep(int).
      另请参阅:
    • typePathContainer

      private final byte[] typePathContainer
      The byte array where the 'type_path' structure - as defined in the Java Virtual Machine Specification (JVMS) - corresponding to this TypePath is stored. The first byte of the structure in this array is given by typePathOffset.
      另请参阅:
    • typePathOffset

      private final int typePathOffset
      The offset of the first byte of the type_path JVMS structure in typePathContainer.
  • 构造器详细资料

    • TypePath

      TypePath(byte[] typePathContainer, int typePathOffset)
      Constructs a new TypePath.
      参数:
      typePathContainer - a byte array containing a type_path JVMS structure.
      typePathOffset - the offset of the first byte of the type_path structure in typePathContainer.
  • 方法详细资料

    • getLength

      public int getLength()
      Returns the length of this path, i.e. its number of steps.
      返回:
      the length of this path.
    • getStep

      public int getStep(int index)
      Returns the value of the given step of this path.
      参数:
      index - an index between 0 and getLength(), exclusive.
      返回:
      one of 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.
      参数:
      index - an index between 0 and getLength(), exclusive.
      返回:
      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.
      参数:
      typePath - a type path in string form, in the format used by toString(). May be null or empty.
      返回:
      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 ';'.
      覆盖:
      toString 在类中 Object
    • put

      static void put(TypePath typePath, ByteVector output)
      Puts the type_path JVMS structure corresponding to the given TypePath into the given ByteVector.
      参数:
      typePath - a TypePath instance, or null for empty paths.
      output - where the type path must be put.