Interface TypeAnnotation.TargetInfo
- 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.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionstatic TypeAnnotation.EmptyTarget
of
(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.OffsetTarget
ofConstructorReference
(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.CatchTarget
ofExceptionParameter
(int exceptionTableIndex) Returns a target for annotations on the i'th type in an exception parameter declaration.static TypeAnnotation.EmptyTarget
ofField()
Returns a target for annotations on the type in a field or record declaration.static TypeAnnotation.OffsetTarget
ofInstanceofExpr
(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.EmptyTarget
Returns a target for annotations on the receiver type of a method or constructor.static TypeAnnotation.OffsetTarget
ofMethodReference
(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.EmptyTarget
Returns 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.OffsetTarget
Returns a target for annotations on the type in a new expression.static TypeAnnotation.OffsetTarget
ofOffset
(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.ThrowsTarget
ofThrows
(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 int
size()
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
-
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
-
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
-
TARGET_NEW
-
TARGET_CONSTRUCTOR_REFERENCE
static final int TARGET_CONSTRUCTOR_REFERENCE- See Also:
-
TARGET_METHOD_REFERENCE
static final int TARGET_METHOD_REFERENCE- See Also:
-
TARGET_CAST
-
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_PARAMETER
orTypeAnnotation.TargetType.METHOD_TYPE_PARAMETER
typeParameterIndex
- specifies which type parameter declaration is annotated- Returns:
- a target for annotations on a class or method type parameter declaration
-
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
-
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
-
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
-
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_BOUND
orTypeAnnotation.TargetType.METHOD_TYPE_PARAMETER_BOUND
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, interface, method, or constructor
-
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
-
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
-
of
Returns a target for annotations.- Parameters:
targetType
-TypeAnnotation.TargetType.FIELD
,TypeAnnotation.TargetType.METHOD_RETURN
orTypeAnnotation.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.- 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
-
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
-
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_VARIABLE
orTypeAnnotation.TargetType.RESOURCE_VARIABLE
table
- 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
-
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
-
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
-
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
-
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_REFERENCE
target
- the code label corresponding to 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 code label corresponding to 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 code label corresponding to 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 code label corresponding to 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 code label corresponding to 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_ARGUMENT
target
- the code label corresponding to 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
-
ofCastExpr
Returns a target for annotations on the i'th type in a cast expression.- Parameters:
target
- the code label corresponding to 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
-
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 code label corresponding to 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
-
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 code label corresponding to 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
-
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 code label corresponding to 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
-
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 code label corresponding to 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
-