Package io.ebean.enhance.asm
Class TypeReference
java.lang.Object
io.ebean.enhance.asm.TypeReference
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).
- Author:
- Eric Bruneton
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe sort of type references that target the type declared in an explicit or implicit cast instruction.static final intThe sort of type references that target the super class of a class or one of the interfaces it implements.static final intThe sort of type references that target a type parameter of a generic class.static final intThe sort of type references that target a bound of a type parameter of a generic class.static final intThe sort of type references that target a type parameter of a generic constructor in a constructor call.static final intThe sort of type references that target the receiver type of a constructor reference.static final intThe sort of type references that target a type parameter of a generic constructor in a constructor reference.static final intThe sort of type references that target the type of the exception of a 'catch' clause in a method.static final intThe sort of type references that target the type of a field.static final intThe sort of type references that target the type declared in an 'instanceof' instruction.static final intThe sort of type references that target the type of a local variable in a method.static final intThe sort of type references that target the type of a formal parameter of a method.static final intThe sort of type references that target a type parameter of a generic method in a method call.static final intThe sort of type references that target the receiver type of a method.static final intThe sort of type references that target the receiver type of a method reference.static final intThe sort of type references that target a type parameter of a generic method in a method reference.static final intThe sort of type references that target the return type of a method.static final intThe sort of type references that target a type parameter of a generic method.static final intThe sort of type references that target a bound of a type parameter of a generic method.static final intThe sort of type references that target the type of the object created by a 'new' instruction.static final intThe sort of type references that target the type of a resource variable in a method.static final intThe sort of type references that target the type of an exception declared in the throws clause of a method. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintReturns the index of the exception, in a 'throws' clause of a method, whose type is referenced by this type reference.intReturns the index of the formal parameter whose type is referenced by this type reference.intgetSort()Returns the sort of this type reference.intReturns the index of the "super type" of a class that is referenced by this type reference.intReturns 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.intReturns the index of the type argument referenced by this type reference.intReturns the index of the type parameter bound, within the type parametergetTypeParameterIndex(), referenced by this type reference.intReturns the index of the type parameter referenced by this type reference.intgetValue()Returns the int encoded value of this type reference, suitable for use in visit methods related to type annotations, like visitTypeAnnotation.static TypeReferencenewExceptionReference(int exceptionIndex) Returns a reference to the type of an exception, in a 'throws' clause of a method.static TypeReferencenewFormalParameterReference(int paramIndex) Returns a reference to the type of a formal parameter of a method.static TypeReferencenewSuperTypeReference(int itfIndex) Returns a reference to the super class or to an interface of the 'implements' clause of a class.static TypeReferencenewTryCatchReference(int tryCatchBlockIndex) Returns a reference to the type of the exception declared in a 'catch' clause of a method.static TypeReferencenewTypeArgumentReference(int sort, int argIndex) Returns a reference to the type of a type argument in a constructor or method call or reference.static TypeReferencenewTypeParameterBoundReference(int sort, int paramIndex, int boundIndex) Returns a reference to a type parameter bound of a generic class or method.static TypeReferencenewTypeParameterReference(int sort, int paramIndex) Returns a reference to a type parameter of a generic class or method.static TypeReferencenewTypeReference(int sort) Returns a type reference of the given sort.
-
Field Details
-
CLASS_TYPE_PARAMETER
The sort of type references that target a type parameter of a generic class. SeegetSort().- See Also:
-
METHOD_TYPE_PARAMETER
The sort of type references that target a type parameter of a generic method. SeegetSort().- See Also:
-
CLASS_EXTENDS
The sort of type references that target the super class of a class or one of the interfaces it implements. SeegetSort().- See Also:
-
CLASS_TYPE_PARAMETER_BOUND
The sort of type references that target a bound of a type parameter of a generic class. SeegetSort().- See Also:
-
METHOD_TYPE_PARAMETER_BOUND
The sort of type references that target a bound of a type parameter of a generic method. SeegetSort().- See Also:
-
FIELD
The sort of type references that target the type of a field. SeegetSort().- See Also:
-
METHOD_RETURN
The sort of type references that target the return type of a method. SeegetSort().- See Also:
-
METHOD_RECEIVER
The sort of type references that target the receiver type of a method. SeegetSort().- See Also:
-
METHOD_FORMAL_PARAMETER
The sort of type references that target the type of a formal parameter of a method. SeegetSort().- See Also:
-
THROWS
The sort of type references that target the type of an exception declared in the throws clause of a method. SeegetSort().- See Also:
-
LOCAL_VARIABLE
The sort of type references that target the type of a local variable in a method. SeegetSort().- See Also:
-
RESOURCE_VARIABLE
The sort of type references that target the type of a resource variable in a method. SeegetSort().- See Also:
-
EXCEPTION_PARAMETER
The sort of type references that target the type of the exception of a 'catch' clause in a method. SeegetSort().- See Also:
-
INSTANCEOF
The sort of type references that target the type declared in an 'instanceof' instruction. SeegetSort().- See Also:
-
NEW
The sort of type references that target the type of the object created by a 'new' instruction. SeegetSort().- See Also:
-
CONSTRUCTOR_REFERENCE
The sort of type references that target the receiver type of a constructor reference. SeegetSort().- See Also:
-
METHOD_REFERENCE
The sort of type references that target the receiver type of a method reference. SeegetSort().- See Also:
-
CAST
The sort of type references that target the type declared in an explicit or implicit cast instruction. SeegetSort().- See Also:
-
CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
The sort of type references that target a type parameter of a generic constructor in a constructor call. SeegetSort().- See Also:
-
METHOD_INVOCATION_TYPE_ARGUMENT
The sort of type references that target a type parameter of a generic method in a method call. SeegetSort().- See Also:
-
CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
The sort of type references that target a type parameter of a generic constructor in a constructor reference. SeegetSort().- See Also:
-
METHOD_REFERENCE_TYPE_ARGUMENT
The sort of type references that target a type parameter of a generic method in a method reference. SeegetSort().- See Also:
-
-
Constructor Details
-
TypeReference
Constructs a new TypeReference.- Parameters:
typeRef- the int encoded value of the type reference, as received in a visit method related to type annotations, such asClassVisitor.visitTypeAnnotation(int, io.ebean.enhance.asm.TypePath, java.lang.String, boolean).
-
-
Method Details
-
newTypeReference
Returns a type reference of the given sort.- Parameters:
sort- one ofFIELD,METHOD_RETURN,METHOD_RECEIVER,LOCAL_VARIABLE,RESOURCE_VARIABLE,INSTANCEOF,NEW,CONSTRUCTOR_REFERENCE, orMETHOD_REFERENCE.- Returns:
- a type reference of the given sort.
-
newTypeParameterReference
Returns a reference to a type parameter of a generic class or method.- Parameters:
sort- one ofCLASS_TYPE_PARAMETERorMETHOD_TYPE_PARAMETER.paramIndex- the type parameter index.- Returns:
- 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.- Parameters:
sort- one ofCLASS_TYPE_PARAMETERorMETHOD_TYPE_PARAMETER.paramIndex- the type parameter index.boundIndex- the type bound index within the above type parameters.- Returns:
- a reference to the given generic class or method type parameter bound.
-
newSuperTypeReference
Returns a reference to the super class or to an interface of the 'implements' clause of a class.- Parameters:
itfIndex- the index of an interface in the 'implements' clause of a class, or -1 to reference the super class of the class.- Returns:
- a reference to the given super type of a class.
-
newFormalParameterReference
Returns a reference to the type of a formal parameter of a method.- Parameters:
paramIndex- the formal parameter index.- Returns:
- a reference to the type of the given method formal parameter.
-
newExceptionReference
Returns a reference to the type of an exception, in a 'throws' clause of a method.- Parameters:
exceptionIndex- the index of an exception in a 'throws' clause of a method.- Returns:
- a reference to the type of the given exception.
-
newTryCatchReference
Returns a reference to the type of the exception declared in a 'catch' clause of a method.- Parameters:
tryCatchBlockIndex- the index of a try catch block (using the order in which they are visited with visitTryCatchBlock).- Returns:
- a reference to the type of the given exception.
-
newTypeArgumentReference
Returns a reference to the type of a type argument in a constructor or method call or reference.- Parameters:
sort- one ofCAST,CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT,METHOD_INVOCATION_TYPE_ARGUMENT,CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT, orMETHOD_REFERENCE_TYPE_ARGUMENT.argIndex- the type argument index.- Returns:
- a reference to the type of the given type argument.
-
getSort
Returns the sort of this type reference.- Returns:
- one of
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, orMETHOD_REFERENCE_TYPE_ARGUMENT.
-
getTypeParameterIndex
Returns the index of the type parameter referenced by this type reference. This method must only be used for type references whose sort isCLASS_TYPE_PARAMETER,METHOD_TYPE_PARAMETER,CLASS_TYPE_PARAMETER_BOUNDorMETHOD_TYPE_PARAMETER_BOUND.- Returns:
- a type parameter index.
-
getTypeParameterBoundIndex
Returns the index of the type parameter bound, within the type parametergetTypeParameterIndex(), referenced by this type reference. This method must only be used for type references whose sort isCLASS_TYPE_PARAMETER_BOUNDorMETHOD_TYPE_PARAMETER_BOUND.- Returns:
- a type parameter bound index.
-
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 isCLASS_EXTENDS.- Returns:
- 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
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 isMETHOD_FORMAL_PARAMETER.- Returns:
- a formal parameter index.
-
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 isTHROWS.- Returns:
- the index of an exception in the 'throws' clause of a method.
-
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 isEXCEPTION_PARAMETER.- Returns:
- the index of an exception in the 'throws' clause of a method.
-
getTypeArgumentIndex
Returns the index of the type argument referenced by this type reference. This method must only be used for type references whose sort isCAST,CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT,METHOD_INVOCATION_TYPE_ARGUMENT,CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT, orMETHOD_REFERENCE_TYPE_ARGUMENT.- Returns:
- a type parameter index.
-
getValue
Returns the int encoded value of this type reference, suitable for use in visit methods related to type annotations, like visitTypeAnnotation.- Returns:
- the int encoded value of this type reference.
-