org.springframework.asm

## 类 TypeReference

- java.lang.Object
- - org.springframework.asm.TypeReference

-     public class TypeReference
      extends Object

  A reference to a type appearing in a class, field or method declaration, or on an instruction. Such a reference designates the part of the class where the referenced type is appearing (e.g. an 'extends', 'implements' or 'throws' clause, a 'new' instruction, a 'catch' clause, a type cast, a local variable declaration, etc).
  作者:
    Eric Bruneton

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static int` | `CAST` The sort of type references that target the type declared in an explicit or implicit cast instruction.
    `static int` | `CLASS_EXTENDS` The sort of type references that target the super class of a class or one of the interfaces it implements.
    `static int` | `CLASS_TYPE_PARAMETER` The sort of type references that target a type parameter of a generic class.
    `static int` | `CLASS_TYPE_PARAMETER_BOUND` The sort of type references that target a bound of a type parameter of a generic class.
    `static int` | `CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT` The sort of type references that target a type parameter of a generic constructor in a constructor call.
    `static int` | `CONSTRUCTOR_REFERENCE` The sort of type references that target the receiver type of a constructor reference.
    `static int` | `CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT` The sort of type references that target a type parameter of a generic constructor in a constructor reference.
    `static int` | `EXCEPTION_PARAMETER` The sort of type references that target the type of the exception of a 'catch' clause in a method.
    `static int` | `FIELD` The sort of type references that target the type of a field.
    `static int` | `INSTANCEOF` The sort of type references that target the type declared in an 'instanceof' instruction.
    `static int` | `LOCAL_VARIABLE` The sort of type references that target the type of a local variable in a method.
    `static int` | `METHOD_FORMAL_PARAMETER` The sort of type references that target the type of a formal parameter of a method.
    `static int` | `METHOD_INVOCATION_TYPE_ARGUMENT` The sort of type references that target a type parameter of a generic method in a method call.
    `static int` | `METHOD_RECEIVER` The sort of type references that target the receiver type of a method.
    `static int` | `METHOD_REFERENCE` The sort of type references that target the receiver type of a method reference.
    `static int` | `METHOD_REFERENCE_TYPE_ARGUMENT` The sort of type references that target a type parameter of a generic method in a method reference.
    `static int` | `METHOD_RETURN` The sort of type references that target the return type of a method.
    `static int` | `METHOD_TYPE_PARAMETER` The sort of type references that target a type parameter of a generic method.
    `static int` | `METHOD_TYPE_PARAMETER_BOUND` The sort of type references that target a bound of a type parameter of a generic method.
    `static int` | `NEW` The sort of type references that target the type of the object created by a 'new' instruction.
    `static int` | `RESOURCE_VARIABLE` The sort of type references that target the type of a resource variable in a method.
    `static int` | `THROWS` The sort of type references that target the type of an exception declared in the throws clause of a method.

  - ### 构造器概要

    构造器
    构造器和说明
    `TypeReference(int typeRef)` Creates a new TypeReference.

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `int` | `getExceptionIndex()` Returns the index of the exception, in a 'throws' clause of a method, whose type is referenced by this type reference.
    `int` | `getFormalParameterIndex()` Returns the index of the formal parameter whose type is referenced by this type reference.
    `int` | `getSort()` Returns the sort of this type reference.
    `int` | `getSuperTypeIndex()` Returns the index of the "super type" of a class that is referenced by this type reference.
    `int` | `getTryCatchBlockIndex()` Returns the index of the try catch block (using the order in which they are visited with visitTryCatchBlock), whose 'catch' type is referenced by this type reference.
    `int` | `getTypeArgumentIndex()` Returns the index of the type argument referenced by this type reference.
    `int` | `getTypeParameterBoundIndex()` Returns the index of the type parameter bound, within the type parameter `getTypeParameterIndex()`, referenced by this type reference.
    `int` | `getTypeParameterIndex()` Returns the index of the type parameter referenced by this type reference.
    `int` | `getValue()` Returns the int encoded value of this type reference, suitable for use in visit methods related to type annotations, like visitTypeAnnotation.
    `static TypeReference` | `newExceptionReference(int exceptionIndex)` Returns a reference to the type of an exception, in a 'throws' clause of a method.
    `static TypeReference` | `newFormalParameterReference(int paramIndex)` Returns a reference to the type of a formal parameter of a method.
    `static TypeReference` | `newSuperTypeReference(int itfIndex)` Returns a reference to the super class or to an interface of the 'implements' clause of a class.
    `static TypeReference` | `newTryCatchReference(int tryCatchBlockIndex)` Returns a reference to the type of the exception declared in a 'catch' clause of a method.
    `static TypeReference` | `newTypeArgumentReference(int sort, int argIndex)` Returns a reference to the type of a type argument in a constructor or method call or reference.
    `static TypeReference` | `newTypeParameterBoundReference(int sort, int paramIndex, int boundIndex)` Returns a reference to a type parameter bound of a generic class or method.
    `static TypeReference` | `newTypeParameterReference(int sort, int paramIndex)` Returns a reference to a type parameter of a generic class or method.
    `static TypeReference` | `newTypeReference(int sort)` Returns a type reference of the given sort.

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

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

- - ### 字段详细资料

    - #### CLASS_TYPE_PARAMETER

          public static final int CLASS_TYPE_PARAMETER

      The sort of type references that target a type parameter of a generic class. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_TYPE_PARAMETER

          public static final int METHOD_TYPE_PARAMETER

      The sort of type references that target a type parameter of a generic method. See `getSort`.
      另请参阅:
        常量字段值

    - #### CLASS_EXTENDS

          public static final int CLASS_EXTENDS

      The sort of type references that target the super class of a class or one of the interfaces it implements. See `getSort`.
      另请参阅:
        常量字段值

    - #### CLASS_TYPE_PARAMETER_BOUND

          public static final int CLASS_TYPE_PARAMETER_BOUND

      The sort of type references that target a bound of a type parameter of a generic class. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_TYPE_PARAMETER_BOUND

          public static final int METHOD_TYPE_PARAMETER_BOUND

      The sort of type references that target a bound of a type parameter of a generic method. See `getSort`.
      另请参阅:
        常量字段值

    - #### FIELD

          public static final int FIELD

      The sort of type references that target the type of a field. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_RETURN

          public static final int METHOD_RETURN

      The sort of type references that target the return type of a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_RECEIVER

          public static final int METHOD_RECEIVER

      The sort of type references that target the receiver type of a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_FORMAL_PARAMETER

          public static final int METHOD_FORMAL_PARAMETER

      The sort of type references that target the type of a formal parameter of a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### THROWS

          public static final int THROWS

      The sort of type references that target the type of an exception declared in the throws clause of a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### LOCAL_VARIABLE

          public static final int LOCAL_VARIABLE

      The sort of type references that target the type of a local variable in a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### RESOURCE_VARIABLE

          public static final int RESOURCE_VARIABLE

      The sort of type references that target the type of a resource variable in a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### EXCEPTION_PARAMETER

          public static final int EXCEPTION_PARAMETER

      The sort of type references that target the type of the exception of a 'catch' clause in a method. See `getSort`.
      另请参阅:
        常量字段值

    - #### INSTANCEOF

          public static final int INSTANCEOF

      The sort of type references that target the type declared in an 'instanceof' instruction. See `getSort`.
      另请参阅:
        常量字段值

    - #### NEW

          public static final int NEW

      The sort of type references that target the type of the object created by a 'new' instruction. See `getSort`.
      另请参阅:
        常量字段值

    - #### CONSTRUCTOR_REFERENCE

          public static final int CONSTRUCTOR_REFERENCE

      The sort of type references that target the receiver type of a constructor reference. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_REFERENCE

          public static final int METHOD_REFERENCE

      The sort of type references that target the receiver type of a method reference. See `getSort`.
      另请参阅:
        常量字段值

    - #### CAST

          public static final int CAST

      The sort of type references that target the type declared in an explicit or implicit cast instruction. See `getSort`.
      另请参阅:
        常量字段值

    - #### CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT

          public static final int CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT

      The sort of type references that target a type parameter of a generic constructor in a constructor call. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_INVOCATION_TYPE_ARGUMENT

          public static final int METHOD_INVOCATION_TYPE_ARGUMENT

      The sort of type references that target a type parameter of a generic method in a method call. See `getSort`.
      另请参阅:
        常量字段值

    - #### CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT

          public static final int CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT

      The sort of type references that target a type parameter of a generic constructor in a constructor reference. See `getSort`.
      另请参阅:
        常量字段值

    - #### METHOD_REFERENCE_TYPE_ARGUMENT

          public static final int METHOD_REFERENCE_TYPE_ARGUMENT

      The sort of type references that target a type parameter of a generic method in a method reference. See `getSort`.
      另请参阅:
        常量字段值

  - ### 构造器详细资料

    - #### TypeReference

          public TypeReference(int typeRef)

      Creates a new TypeReference.
      参数:
        `typeRef` - the int encoded value of the type reference, as received in a visit method related to type annotations, like visitTypeAnnotation.

  - ### 方法详细资料

    - #### newTypeReference

          public static TypeReference newTypeReference(int sort)

      Returns a type reference of the given sort.
      参数:
        `sort` - `FIELD`, `METHOD_RETURN`, `METHOD_RECEIVER`, `LOCAL_VARIABLE`, `RESOURCE_VARIABLE`, `INSTANCEOF`, `NEW`, `CONSTRUCTOR_REFERENCE`, or `METHOD_REFERENCE`.
      返回:
        a type reference of the given sort.

    - #### newTypeParameterReference

          public static TypeReference newTypeParameterReference(int sort,
                                                                int paramIndex)

      Returns a reference to a type parameter of a generic class or method.
      参数:
        `sort` - `CLASS_TYPE_PARAMETER` or `METHOD_TYPE_PARAMETER`.
        `paramIndex` - the type parameter index.
      返回:
        a reference to the given generic class or method type parameter.

    - #### newTypeParameterBoundReference

          public static TypeReference newTypeParameterBoundReference(int sort,
                                                                     int paramIndex,
                                                                     int boundIndex)

      Returns a reference to a type parameter bound of a generic class or method.
      参数:
        `sort` - `CLASS_TYPE_PARAMETER` or `METHOD_TYPE_PARAMETER`.
        `paramIndex` - the type parameter index.
        `boundIndex` - the type bound index within the above type parameters.
      返回:
        a reference to the given generic class or method type parameter bound.

    - #### newSuperTypeReference

          public static TypeReference newSuperTypeReference(int itfIndex)

      Returns a reference to the super class or to an interface of the 'implements' clause of a class.
      参数:
        `itfIndex` - the index of an interface in the 'implements' clause of a class, or -1 to reference the super class of the class.
      返回:
        a reference to the given super type of a class.

    - #### newFormalParameterReference

          public static TypeReference newFormalParameterReference(int paramIndex)

      Returns a reference to the type of a formal parameter of a method.
      参数:
        `paramIndex` - the formal parameter index.
      返回:
        a reference to the type of the given method formal parameter.

    - #### newExceptionReference

          public static TypeReference newExceptionReference(int exceptionIndex)

      Returns a reference to the type of an exception, in a 'throws' clause of a method.
      参数:
        `exceptionIndex` - the index of an exception in a 'throws' clause of a method.
      返回:
        a reference to the type of the given exception.

    - #### newTryCatchReference

          public static TypeReference newTryCatchReference(int tryCatchBlockIndex)

      Returns a reference to the type of the exception declared in a 'catch' clause of a method.
      参数:
        `tryCatchBlockIndex` - the index of a try catch block (using the order in which they are visited with visitTryCatchBlock).
      返回:
        a reference to the type of the given exception.

    - #### newTypeArgumentReference

          public static TypeReference newTypeArgumentReference(int sort,
                                                               int argIndex)

      Returns a reference to the type of a type argument in a constructor or method call or reference.
      参数:
        `sort` - `CAST`, `CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`, `METHOD_INVOCATION_TYPE_ARGUMENT`, `CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`, or `METHOD_REFERENCE_TYPE_ARGUMENT`.
        `argIndex` - the type argument index.
      返回:
        a reference to the type of the given type argument.

    - #### getSort

          public int getSort()

      Returns the sort of this type reference.
      返回:
        `CLASS_TYPE_PARAMETER`, `METHOD_TYPE_PARAMETER`, `CLASS_EXTENDS`, `CLASS_TYPE_PARAMETER_BOUND`, `METHOD_TYPE_PARAMETER_BOUND`, `FIELD`, `METHOD_RETURN`, `METHOD_RECEIVER`, `METHOD_FORMAL_PARAMETER`, `THROWS`, `LOCAL_VARIABLE`, `RESOURCE_VARIABLE`, `EXCEPTION_PARAMETER`, `INSTANCEOF`, `NEW`, `CONSTRUCTOR_REFERENCE`, `METHOD_REFERENCE`, `CAST`, `CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`, `METHOD_INVOCATION_TYPE_ARGUMENT`, `CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`, or `METHOD_REFERENCE_TYPE_ARGUMENT`.

    - #### getTypeParameterIndex

          public int getTypeParameterIndex()

      Returns the index of the type parameter referenced by this type reference. This method must only be used for type references whose sort is `CLASS_TYPE_PARAMETER`, `METHOD_TYPE_PARAMETER`, `CLASS_TYPE_PARAMETER_BOUND` or `METHOD_TYPE_PARAMETER_BOUND`.
      返回:
        a type parameter index.

    - #### getTypeParameterBoundIndex

          public int getTypeParameterBoundIndex()

      Returns the index of the type parameter bound, within the type parameter `getTypeParameterIndex()`, referenced by this type reference. This method must only be used for type references whose sort is `CLASS_TYPE_PARAMETER_BOUND` or `METHOD_TYPE_PARAMETER_BOUND`.
      返回:
        a type parameter bound index.

    - #### getSuperTypeIndex

          public int getSuperTypeIndex()

      Returns the index of the "super type" of a class that is referenced by this type reference. This method must only be used for type references whose sort is `CLASS_EXTENDS`.
      返回:
        the index of an interface in the 'implements' clause of a class, or -1 if this type reference references the type of the super class.

    - #### getFormalParameterIndex

          public int getFormalParameterIndex()

      Returns the index of the formal parameter whose type is referenced by this type reference. This method must only be used for type references whose sort is `METHOD_FORMAL_PARAMETER`.
      返回:
        a formal parameter index.

    - #### getExceptionIndex

          public int getExceptionIndex()

      Returns the index of the exception, in a 'throws' clause of a method, whose type is referenced by this type reference. This method must only be used for type references whose sort is `THROWS`.
      返回:
        the index of an exception in the 'throws' clause of a method.

    - #### getTryCatchBlockIndex

          public int getTryCatchBlockIndex()

      Returns the index of the try catch block (using the order in which they are visited with visitTryCatchBlock), whose 'catch' type is referenced by this type reference. This method must only be used for type references whose sort is `EXCEPTION_PARAMETER` .
      返回:
        the index of an exception in the 'throws' clause of a method.

    - #### getTypeArgumentIndex

          public int getTypeArgumentIndex()

      Returns the index of the type argument referenced by this type reference. This method must only be used for type references whose sort is `CAST`, `CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`, `METHOD_INVOCATION_TYPE_ARGUMENT`, `CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`, or `METHOD_REFERENCE_TYPE_ARGUMENT`.
      返回:
        a type parameter index.

    - #### getValue

          public int getValue()

      Returns the int encoded value of this type reference, suitable for use in visit methods related to type annotations, like visitTypeAnnotation.
      返回:
        the int encoded value of this type reference.