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)
Creates 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, like
visitTypeAnnotation.public static TypeReference newTypeReference(int sort)
sort
- 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
- CLASS_TYPE_PARAMETER
or
METHOD_TYPE_PARAMETER
.paramIndex
- the type parameter index.public static TypeReference newTypeParameterBoundReference(int sort, int paramIndex, int boundIndex)
sort
- 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
- 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()