public class TypeReference extends Object
Modifier and Type | Field and Description |
---|---|
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.
|
Constructor and Description |
---|
TypeReference(int typeRef)
Constructs a new TypeReference.
|
Modifier and Type | Method and Description |
---|---|
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.
|
public static final int CLASS_TYPE_PARAMETER
getSort()
.public static final int METHOD_TYPE_PARAMETER
getSort()
.public static final int CLASS_EXTENDS
getSort()
.public static final int CLASS_TYPE_PARAMETER_BOUND
getSort()
.public static final int METHOD_TYPE_PARAMETER_BOUND
getSort()
.public static final int FIELD
getSort()
.public static final int METHOD_RETURN
getSort()
.public static final int METHOD_RECEIVER
getSort()
.public static final int METHOD_FORMAL_PARAMETER
getSort()
.public static final int THROWS
getSort()
.public static final int LOCAL_VARIABLE
getSort()
.public static final int RESOURCE_VARIABLE
getSort()
.public static final int EXCEPTION_PARAMETER
getSort()
.public static final int INSTANCEOF
getSort()
.public static final int NEW
getSort()
.public static final int CONSTRUCTOR_REFERENCE
getSort()
.public static final int METHOD_REFERENCE
getSort()
.public static final int CAST
getSort()
.public static final int CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
getSort()
.public static final int METHOD_INVOCATION_TYPE_ARGUMENT
getSort()
.public static final int CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
getSort()
.public static final int METHOD_REFERENCE_TYPE_ARGUMENT
getSort()
.public TypeReference(int typeRef)
typeRef
- the int encoded value of the type reference, as received in a visit method
related to type annotations, such as ClassVisitor.visitTypeAnnotation(int, org.springframework.asm.TypePath, java.lang.String, boolean)
.public static TypeReference newTypeReference(int sort)
sort
- one of FIELD
, METHOD_RETURN
, METHOD_RECEIVER
, LOCAL_VARIABLE
, RESOURCE_VARIABLE
, INSTANCEOF
, NEW
, CONSTRUCTOR_REFERENCE
, or METHOD_REFERENCE
.public static TypeReference newTypeParameterReference(int sort, int paramIndex)
sort
- one of CLASS_TYPE_PARAMETER
or METHOD_TYPE_PARAMETER
.paramIndex
- the type parameter index.public static TypeReference newTypeParameterBoundReference(int sort, int paramIndex, int boundIndex)
sort
- one of CLASS_TYPE_PARAMETER
or METHOD_TYPE_PARAMETER
.paramIndex
- the type parameter index.boundIndex
- the type bound index within the above type parameters.public static TypeReference newSuperTypeReference(int itfIndex)
itfIndex
- the index of an interface in the 'implements' clause of a class, or -1 to
reference the super class of the class.public static TypeReference newFormalParameterReference(int paramIndex)
paramIndex
- the formal parameter index.public static TypeReference newExceptionReference(int exceptionIndex)
exceptionIndex
- the index of an exception in a 'throws' clause of a method.public static TypeReference newTryCatchReference(int tryCatchBlockIndex)
tryCatchBlockIndex
- the index of a try catch block (using the order in which they are
visited with visitTryCatchBlock).public static TypeReference newTypeArgumentReference(int sort, int argIndex)
sort
- one of CAST
, CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
, METHOD_INVOCATION_TYPE_ARGUMENT
, CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
, or METHOD_REFERENCE_TYPE_ARGUMENT
.argIndex
- the type argument index.public int getSort()
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
.public int getTypeParameterIndex()
CLASS_TYPE_PARAMETER
, METHOD_TYPE_PARAMETER
, CLASS_TYPE_PARAMETER_BOUND
or METHOD_TYPE_PARAMETER_BOUND
.public int getTypeParameterBoundIndex()
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
.public int getSuperTypeIndex()
CLASS_EXTENDS
.public int getFormalParameterIndex()
METHOD_FORMAL_PARAMETER
.public int getExceptionIndex()
THROWS
.public int getTryCatchBlockIndex()
EXCEPTION_PARAMETER
.public int getTypeArgumentIndex()
CAST
, CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
, METHOD_INVOCATION_TYPE_ARGUMENT
, CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
, or METHOD_REFERENCE_TYPE_ARGUMENT
.public int getValue()