Interface RuntimeInvisibleTypeAnnotationsAttribute

All Superinterfaces:
Attribute<RuntimeInvisibleTypeAnnotationsAttribute>, ClassElement, ClassFileElement, CodeElement, FieldElement, MethodElement

public sealed interface RuntimeInvisibleTypeAnnotationsAttribute extends Attribute<RuntimeInvisibleTypeAnnotationsAttribute>, ClassElement, MethodElement, FieldElement, CodeElement
Models the RuntimeInvisibleTypeAnnotations attribute (JVMS 4.7.21), which stores type-use annotations for the annotated uses of types in this structure that are visible to class file consumers but are not visible to core reflection. Its delivery in the traversal of a CodeModel may be toggled by ClassFile.DebugElementsOption.

This attribute appears on classes, fields, methods, Code attributes, and record components, and does not permit multiple instances in one structure. It has a data dependency on arbitrary indices in the class file format, so users must take great care to ensure this attribute is still correct after a class file has been transformed.

The attribute was introduced in the Java SE Platform version 8, major version 52.

See Java Virtual Machine Specification:
4.7.21 The RuntimeInvisibleTypeAnnotations Attribute
Since:
24
See Also:
  • Method Details

    • annotations

      List<TypeAnnotation> annotations()
      Returns the run-time invisible annotations on uses of types in this structure.
      Returns:
      the run-time invisible annotations on uses of types in this structure
    • of

      Returns a RuntimeInvisibleTypeAnnotations attribute.
      Parameters:
      annotations - the annotations
      Returns:
      a RuntimeInvisibleTypeAnnotations attribute
    • of

      Returns a RuntimeInvisibleTypeAnnotations attribute.
      Parameters:
      annotations - the annotations
      Returns:
      a RuntimeInvisibleTypeAnnotations attribute