- All Superinterfaces:
Annotation,ClassFileElement,WritableElement<Annotation>
- All Known Implementing Classes:
UnboundAttribute.UnboundTypeAnnotation
public sealed interface TypeAnnotation
extends Annotation
permits UnboundAttribute.UnboundTypeAnnotation
Models an annotation on a type use, as defined in and .
- Since:
- 22
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceIndicates that an annotation appears on the i'th type in an exception parameter declaration.static interfaceIndicates that an annotation appears on either the type in a field declaration, the return type of a method, the type of a newly constructed object, or the receiver type of a method or constructor.static interfaceIndicates that an annotation appears on the type in a formal parameter declaration of a method, constructor, or lambda expression.static interfaceIndicates that an annotation appears on the type in a local variable declaration, including a variable declared as a resource in a try-with-resources statement.static interfaceIndicates a range of code array offsets within which a local variable has a value, and the index into the local variable array of the current frame at which that local variable can be found.static interfaceIndicates that an annotation appears on either the type in an instanceof expression or a new expression, or the type before the :: in a method reference expression.static interfaceIndicates that an annotation appears on a type in the extends or implements clause of a class or interface declaration.static interfaceSpecifies which type in a declaration or expression is being annotated.static enumThe kind of target on which the annotation appears, as defined in .static interfaceIndicates that an annotation appears on the i'th type in the throws clause of a method or constructor declaration.static interfaceIndicates that an annotation appears either 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.static interfaceIndicates that an annotation appears on the i'th bound of the j'th type parameter declaration of a generic class, interface, method, or constructor.static interfaceIndicates that an annotation appears on the declaration of the i'th type parameter of a generic class, generic interface, generic method, or generic constructor.static interfaceJVMS: Type_path structure identifies which part of the type is annotated, as defined in -
Method Summary
Modifier and TypeMethodDescriptionstatic TypeAnnotationof(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, ClassDesc annotationClass, List<AnnotationElement> annotationElements) Returns a type annotation.static TypeAnnotationof(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, ClassDesc annotationClass, AnnotationElement... annotationElements) Returns a type annotation.static TypeAnnotationof(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, Utf8Entry annotationClassUtf8Entry, List<AnnotationElement> annotationElements) Returns a type annotation.static TypeAnnotationof(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, Utf8Entry annotationClassUtf8Entry, AnnotationElement... annotationElements) Returns a type annotation.Returns information describing precisely which type in a declaration or expression is annotated.Returns which part of the type indicated bytargetInfo()is annotated.Methods inherited from interface org.glavo.classfile.Annotation
className, classSymbol, elementsMethods inherited from interface org.glavo.classfile.WritableElement
writeTo
-
Method Details
-
targetInfo
TypeAnnotation.TargetInfo targetInfo()Returns information describing precisely which type in a declaration or expression is annotated.- Returns:
- information describing precisely which type in a declaration or expression is annotated
-
targetPath
List<TypeAnnotation.TypePathComponent> targetPath()Returns which part of the type indicated bytargetInfo()is annotated.- Returns:
- which part of the type indicated by
targetInfo()is annotated
-
of
static TypeAnnotation of(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, Utf8Entry annotationClassUtf8Entry, List<AnnotationElement> annotationElements) Returns a type annotation.- Parameters:
targetInfo- which type in a declaration or expression is annotatedtargetPath- which part of the type is annotatedannotationClassUtf8Entry- the annotation classannotationElements- the annotation elements- Returns:
- a type annotation
-
of
static TypeAnnotation of(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, ClassDesc annotationClass, AnnotationElement... annotationElements) Returns a type annotation.- Parameters:
targetInfo- which type in a declaration or expression is annotatedtargetPath- which part of the type is annotatedannotationClass- the annotation classannotationElements- the annotation elements- Returns:
- a type annotation
-
of
static TypeAnnotation of(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, ClassDesc annotationClass, List<AnnotationElement> annotationElements) Returns a type annotation.- Parameters:
targetInfo- which type in a declaration or expression is annotatedtargetPath- which part of the type is annotatedannotationClass- the annotation classannotationElements- the annotation elements- Returns:
- a type annotation
-
of
static TypeAnnotation of(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, Utf8Entry annotationClassUtf8Entry, AnnotationElement... annotationElements) Returns a type annotation.- Parameters:
targetInfo- which type in a declaration or expression is annotatedtargetPath- which part of the type is annotatedannotationClassUtf8Entry- the annotation classannotationElements- the annotation elements- Returns:
- a type annotation
-