- All Known Subinterfaces:
TypeAnnotation.CatchTarget,TypeAnnotation.EmptyTarget,TypeAnnotation.FormalParameterTarget,TypeAnnotation.LocalVarTarget,TypeAnnotation.OffsetTarget,TypeAnnotation.SupertypeTarget,TypeAnnotation.ThrowsTarget,TypeAnnotation.TypeArgumentTarget,TypeAnnotation.TypeParameterBoundTarget,TypeAnnotation.TypeParameterTarget
- Enclosing interface:
TypeAnnotation
public static sealed interface TypeAnnotation.TargetInfo
permits TypeAnnotation.TypeParameterTarget, TypeAnnotation.SupertypeTarget, TypeAnnotation.TypeParameterBoundTarget, TypeAnnotation.EmptyTarget, TypeAnnotation.FormalParameterTarget, TypeAnnotation.ThrowsTarget, TypeAnnotation.LocalVarTarget, TypeAnnotation.CatchTarget, TypeAnnotation.OffsetTarget, TypeAnnotation.TypeArgumentTarget
Specifies which type in a declaration or expression is being annotated.
- Since:
- 24
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int -
Method Summary
Modifier and TypeMethodDescriptionstatic TypeAnnotation.EmptyTargetof(TypeAnnotation.TargetType targetType) Returns a target for annotations.ofCastExpr(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type in a cast expression.ofClassExtends(int supertypeIndex) Returns a target for annotations on the type of an "extends" or "implements" clause.ofClassTypeParameter(int typeParameterIndex) Returns a target for annotations on a class type parameter declaration.ofClassTypeParameterBound(int typeParameterIndex, int boundIndex) Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, or interface.ofConstructorInvocationTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for an explicit constructor invocation statement.static TypeAnnotation.OffsetTargetofConstructorReference(Label target) Returns a target for annotations on the type before the :: in a constructor reference expression.ofConstructorReferenceTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for a new expression.static TypeAnnotation.CatchTargetofExceptionParameter(int exceptionTableIndex) Returns a target for annotations on the i'th type in an exception parameter declaration.static TypeAnnotation.EmptyTargetofField()Returns a target for annotations on the type in a field or record declaration.static TypeAnnotation.OffsetTargetofInstanceofExpr(Label target) Returns a target for annotations on the type in an instanceof expression.Returns a target for annotations on the type in a local variable declaration.ofMethodFormalParameter(int formalParameterIndex) Returns a target for annotations on the type in a formal parameter declaration of a method, constructor, or lambda expression.ofMethodInvocationTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for a method invocation expression.static TypeAnnotation.EmptyTargetReturns a target for annotations on the receiver type of a method or constructor.static TypeAnnotation.OffsetTargetofMethodReference(Label target) Returns a target for annotations on the type before the :: in a method reference expression.ofMethodReferenceTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for a method reference expression.static TypeAnnotation.EmptyTargetReturns a target for annotations on the return type of a method or a newly constructed object.ofMethodTypeParameter(int typeParameterIndex) Returns a target for annotations on a method type parameter declaration.ofMethodTypeParameterBound(int typeParameterIndex, int boundIndex) Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic method, or constructor.static TypeAnnotation.OffsetTargetReturns a target for annotations on the type in a new expression.static TypeAnnotation.OffsetTargetofOffset(TypeAnnotation.TargetType targetType, Label target) Returns a target for annotations on the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression.Returns a target for annotations on the type in a local variable declared as a resource in a try-with-resources statement.static TypeAnnotation.ThrowsTargetofThrows(int throwsTargetIndex) Returns a target for annotations on the i'th type in the throws clause of a method or constructor declaration.ofTypeArgument(TypeAnnotation.TargetType targetType, Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type in a cast expression, or on the i'th type argument in the explicit type argument list for any of the following: a new expression, an explicit constructor invocation statement, a method invocation expression, or a method reference expression.ofTypeParameter(TypeAnnotation.TargetType targetType, int typeParameterIndex) Returns a target for annotations on a class or method type parameter declaration.ofTypeParameterBound(TypeAnnotation.TargetType targetType, int typeParameterIndex, int boundIndex) Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor.ofVariable(TypeAnnotation.TargetType targetType, List<TypeAnnotation.LocalVarTargetInfo> table) Returns a target for annotations on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement.default intsize()Returns the size of the target info.Returns the type of the target.
-
Field Details
-
TARGET_CLASS_TYPE_PARAMETER
static final int TARGET_CLASS_TYPE_PARAMETER- See Also:
-
TARGET_METHOD_TYPE_PARAMETER
static final int TARGET_METHOD_TYPE_PARAMETER- See Also:
-
TARGET_CLASS_EXTENDS
static final int TARGET_CLASS_EXTENDS- See Also:
-
TARGET_CLASS_TYPE_PARAMETER_BOUND
static final int TARGET_CLASS_TYPE_PARAMETER_BOUND- See Also:
-
TARGET_METHOD_TYPE_PARAMETER_BOUND
static final int TARGET_METHOD_TYPE_PARAMETER_BOUND- See Also:
-
TARGET_FIELD
static final int TARGET_FIELD- See Also:
-
TARGET_METHOD_RETURN
static final int TARGET_METHOD_RETURN- See Also:
-
TARGET_METHOD_RECEIVER
static final int TARGET_METHOD_RECEIVER- See Also:
-
TARGET_METHOD_FORMAL_PARAMETER
static final int TARGET_METHOD_FORMAL_PARAMETER- See Also:
-
TARGET_THROWS
static final int TARGET_THROWS- See Also:
-
TARGET_LOCAL_VARIABLE
static final int TARGET_LOCAL_VARIABLE- See Also:
-
TARGET_RESOURCE_VARIABLE
static final int TARGET_RESOURCE_VARIABLE- See Also:
-
TARGET_EXCEPTION_PARAMETER
static final int TARGET_EXCEPTION_PARAMETER- See Also:
-
TARGET_INSTANCEOF
static final int TARGET_INSTANCEOF- See Also:
-
TARGET_NEW
static final int TARGET_NEW- See Also:
-
TARGET_CONSTRUCTOR_REFERENCE
static final int TARGET_CONSTRUCTOR_REFERENCE- See Also:
-
TARGET_METHOD_REFERENCE
static final int TARGET_METHOD_REFERENCE- See Also:
-
TARGET_CAST
static final int TARGET_CAST- See Also:
-
TARGET_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
static final int TARGET_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT- See Also:
-
TARGET_METHOD_INVOCATION_TYPE_ARGUMENT
static final int TARGET_METHOD_INVOCATION_TYPE_ARGUMENT- See Also:
-
TARGET_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
static final int TARGET_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT- See Also:
-
TARGET_METHOD_REFERENCE_TYPE_ARGUMENT
static final int TARGET_METHOD_REFERENCE_TYPE_ARGUMENT- See Also:
-
-
Method Details
-
targetType
TypeAnnotation.TargetType targetType()Returns the type of the target.- Returns:
- the type of the target
-
size
default int size()Returns the size of the target info.- Returns:
- the size of the target info
-
ofTypeParameter
static TypeAnnotation.TypeParameterTarget ofTypeParameter(TypeAnnotation.TargetType targetType, int typeParameterIndex) Returns a target for annotations on a class or method type parameter declaration.- Parameters:
targetType-TypeAnnotation.TargetType.CLASS_TYPE_PARAMETERorTypeAnnotation.TargetType.METHOD_TYPE_PARAMETERtypeParameterIndex- specifies which type parameter declaration is annotated- Returns:
- a target for annotations on a class or method type parameter declaration
- Throws:
IllegalArgumentException- iftypeParameterIndexis notu1
-
ofClassTypeParameter
Returns a target for annotations on a class type parameter declaration.- Parameters:
typeParameterIndex- specifies which type parameter declaration is annotated- Returns:
- a target for annotations on a class type parameter declaration
- Throws:
IllegalArgumentException- iftypeParameterIndexis notu1
-
ofMethodTypeParameter
Returns a target for annotations on a method type parameter declaration.- Parameters:
typeParameterIndex- specifies which type parameter declaration is annotated- Returns:
- a target for annotations on a method type parameter declaration
- Throws:
IllegalArgumentException- iftypeParameterIndexis notu1
-
ofClassExtends
Returns a target for annotations on the type of an "extends" or "implements" clause.- Parameters:
supertypeIndex- the index into the interfaces array or 65535 to indicate it is the superclass- Returns:
- a target for annotations on the type of an "extends" or "implements" clause
- Throws:
IllegalArgumentException- ifsupertypeIndexis notu2
-
ofTypeParameterBound
static TypeAnnotation.TypeParameterBoundTarget ofTypeParameterBound(TypeAnnotation.TargetType targetType, int typeParameterIndex, int boundIndex) Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor.- Parameters:
targetType-TypeAnnotation.TargetType.CLASS_TYPE_PARAMETER_BOUNDorTypeAnnotation.TargetType.METHOD_TYPE_PARAMETER_BOUNDtypeParameterIndex- specifies which type parameter declaration is annotatedboundIndex- specifies which bound of the type parameter declaration is annotated- Returns:
- a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor
- Throws:
IllegalArgumentException- iftypeParameterIndexorboundIndexis notu1
-
ofClassTypeParameterBound
static TypeAnnotation.TypeParameterBoundTarget ofClassTypeParameterBound(int typeParameterIndex, int boundIndex) Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, or interface.- Parameters:
typeParameterIndex- specifies which type parameter declaration is annotatedboundIndex- specifies which bound of the type parameter declaration is annotated- Returns:
- a target for annotations on the i'th bound of the j'th type parameter declaration of a generic class, or interface
- Throws:
IllegalArgumentException- iftypeParameterIndexorboundIndexis notu1
-
ofMethodTypeParameterBound
static TypeAnnotation.TypeParameterBoundTarget ofMethodTypeParameterBound(int typeParameterIndex, int boundIndex) Returns a target for annotations on the i'th bound of the j'th type parameter declaration of a generic method, or constructor.- Parameters:
typeParameterIndex- specifies which type parameter declaration is annotatedboundIndex- specifies which bound of the type parameter declaration is annotated- Returns:
- a target for annotations on the i'th bound of the j'th type parameter declaration of a generic method, or constructor
- Throws:
IllegalArgumentException- iftypeParameterIndexorboundIndexis notu1
-
of
Returns a target for annotations.- Parameters:
targetType-TypeAnnotation.TargetType.FIELD,TypeAnnotation.TargetType.METHOD_RETURNorTypeAnnotation.TargetType.METHOD_RECEIVER- Returns:
- a target for annotations
-
ofField
Returns a target for annotations on the type in a field or record declaration.- Returns:
- a target for annotations on the type in a field or record declaration
-
ofMethodReturn
Returns a target for annotations on the return type of a method or a newly constructed object.- Returns:
- a target for annotations on the return type of a method or a newly constructed object
-
ofMethodReceiver
Returns a target for annotations on the receiver type of a method or constructor.- Returns:
- a target for annotations on the receiver type of a method or constructor
-
ofMethodFormalParameter
Returns a target for annotations on the type in a formal parameter declaration of a method, constructor, or lambda expression. The index may differ from the index in the method descriptor because some synthetic or implicit parameters are omitted.- Parameters:
formalParameterIndex- specifies which formal parameter declaration has an annotated type- Returns:
- a target for annotations on the type in a formal parameter declaration of a method, constructor, or lambda expression
- Throws:
IllegalArgumentException- ifformalParameterIndexis notu1
-
ofThrows
Returns a target for annotations on the i'th type in the throws clause of a method or constructor declaration.- Parameters:
throwsTargetIndex- the index into the exception table of the Exceptions attribute of the method- Returns:
- a target for annotations on the i'th type in the throws clause of a method or constructor declaration
- Throws:
IllegalArgumentException- ifthrowsTargetIndexis notu2
-
ofVariable
static TypeAnnotation.LocalVarTarget ofVariable(TypeAnnotation.TargetType targetType, List<TypeAnnotation.LocalVarTargetInfo> table) Returns a target for annotations on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement.- Parameters:
targetType-TypeAnnotation.TargetType.LOCAL_VARIABLEorTypeAnnotation.TargetType.RESOURCE_VARIABLEtable- the list of local variable targets- Returns:
- a target for annotations on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement
- Throws:
IllegalArgumentException- if the size of the list of targets exceeds the limit ofu2
-
ofLocalVariable
Returns a target for annotations on the type in a local variable declaration.- Parameters:
table- the list of local variable targets- Returns:
- a target for annotations on the type in a local variable declaration
- Throws:
IllegalArgumentException- if the size of the list of targets exceeds the limit ofu2
-
ofResourceVariable
static TypeAnnotation.LocalVarTarget ofResourceVariable(List<TypeAnnotation.LocalVarTargetInfo> table) Returns a target for annotations on the type in a local variable declared as a resource in a try-with-resources statement.- Parameters:
table- the list of local variable targets- Returns:
- a target for annotations on the type in a local variable declared as a resource in a try-with-resources statement
- Throws:
IllegalArgumentException- if the size of the list of targets exceeds the limit ofu2
-
ofExceptionParameter
Returns a target for annotations on the i'th type in an exception parameter declaration.- Parameters:
exceptionTableIndex- the index into the exception table of the Code attribute- Returns:
- a target for annotations on the i'th type in an exception parameter declaration
- Throws:
IllegalArgumentException- ifexceptionTableIndexis notu2
-
ofOffset
Returns a target for annotations on the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression.- Parameters:
targetType-TypeAnnotation.TargetType.INSTANCEOF,TypeAnnotation.TargetType.NEW,TypeAnnotation.TargetType.CONSTRUCTOR_REFERENCE, orTypeAnnotation.TargetType.METHOD_REFERENCEtarget- the label right before the instruction- Returns:
- a target for annotations on the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression
-
ofInstanceofExpr
Returns a target for annotations on the type in an instanceof expression.- Parameters:
target- the label right before the instruction- Returns:
- a target for annotations on the type in an instanceof expression
-
ofNewExpr
Returns a target for annotations on the type in a new expression.- Parameters:
target- the label right before the instruction- Returns:
- a target for annotations on the type in a new expression
-
ofConstructorReference
Returns a target for annotations on the type before the :: in a constructor reference expression.- Parameters:
target- the label right before the instruction- Returns:
- a target for annotations on the type before the :: in a constructor reference expression
-
ofMethodReference
Returns a target for annotations on the type before the :: in a method reference expression.- Parameters:
target- the label right before the instruction- Returns:
- a target for annotations on the type before the :: in a method reference expression
-
ofTypeArgument
static TypeAnnotation.TypeArgumentTarget ofTypeArgument(TypeAnnotation.TargetType targetType, Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type in a cast expression, or on the i'th type argument in the explicit type argument list for any of the following: a new expression, an explicit constructor invocation statement, a method invocation expression, or a method reference expression.- Parameters:
targetType-TypeAnnotation.TargetType.CAST,TypeAnnotation.TargetType.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT,TypeAnnotation.TargetType.METHOD_INVOCATION_TYPE_ARGUMENT,TypeAnnotation.TargetType.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT, orTypeAnnotation.TargetType.METHOD_REFERENCE_TYPE_ARGUMENTtarget- the label right before the instructiontypeArgumentIndex- specifies which type in the cast operator or argument is annotated- Returns:
- a target for annotations on the i'th type in a cast expression, or on the i'th type argument in the explicit type argument list for any of the following: a new expression, an explicit constructor invocation statement, a method invocation expression, or a method reference expression
- Throws:
IllegalArgumentException- iftypeArgumentIndexis notu1
-
ofCastExpr
Returns a target for annotations on the i'th type in a cast expression.- Parameters:
target- the label right before the instructiontypeArgumentIndex- specifies which type in the cast operator is annotated- Returns:
- a target for annotations on the i'th type in a cast expression
- Throws:
IllegalArgumentException- iftypeArgumentIndexis notu1
-
ofConstructorInvocationTypeArgument
static TypeAnnotation.TypeArgumentTarget ofConstructorInvocationTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for an explicit constructor invocation statement.- Parameters:
target- the label right before the instructiontypeArgumentIndex- specifies which type in the argument is annotated- Returns:
- a target for annotations on the i'th type argument in the explicit type argument list for an explicit constructor invocation statement
- Throws:
IllegalArgumentException- iftypeArgumentIndexis notu1
-
ofMethodInvocationTypeArgument
static TypeAnnotation.TypeArgumentTarget ofMethodInvocationTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for a method invocation expression.- Parameters:
target- the label right before the instructiontypeArgumentIndex- specifies which type in the argument is annotated- Returns:
- a target for annotations on the i'th type argument in the explicit type argument list for a method invocation expression
- Throws:
IllegalArgumentException- iftypeArgumentIndexis notu1
-
ofConstructorReferenceTypeArgument
static TypeAnnotation.TypeArgumentTarget ofConstructorReferenceTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for a new expression.- Parameters:
target- the label right before the instructiontypeArgumentIndex- specifies which type in the argument is annotated- Returns:
- a target for annotations on the i'th type argument in the explicit type argument list for a new expression
- Throws:
IllegalArgumentException- iftypeArgumentIndexis notu1
-
ofMethodReferenceTypeArgument
static TypeAnnotation.TypeArgumentTarget ofMethodReferenceTypeArgument(Label target, int typeArgumentIndex) Returns a target for annotations on the i'th type argument in the explicit type argument list for a method reference expression.- Parameters:
target- the label right before the instructiontypeArgumentIndex- specifies which type in the argument is annotated- Returns:
- a target for annotations on the i'th type argument in the explicit type argument list for a method reference expression
- Throws:
IllegalArgumentException- iftypeArgumentIndexis notu1
-