Module java.base
Package java.lang.classfile.attribute

# Interface RuntimeVisibleTypeAnnotationsAttribute

≠
public abstract sealed interface RuntimeVisibleTypeAnnotationsAttribute
extends java.lang.classfile.Attribute<java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute>, java.lang.classfile.ClassElement, java.lang.classfile.CodeElement, java.lang.classfile.FieldElement, java.lang.classfile.MethodElement
permits jdk.internal.classfile.impl.BoundAttribute.BoundRuntimeVisibleTypeAnnotationsAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundRuntimeVisibleTypeAnnotationsAttribute
Comparing jdk-master and valhalla-csr-open

All Superinterfaces:
  `AttributePREVIEW <RuntimeVisibleTypeAnnotationsAttribute>, ClassElementPREVIEW , ClassFileElement, CodeElement, FieldElement, MethodElement`

public sealed interface RuntimeVisibleTypeAnnotationsAttribute extends AttributePREVIEW <RuntimeVisibleTypeAnnotationsAttribute>, ClassElementPREVIEW , MethodElement, FieldElement, CodeElement
Models the `RuntimeVisibleTypeAnnotations` attribute (JVMS §4.7.20), which stores type-use annotations for the annotated uses of types in this structure that are visible to both `class` file consumers and 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.20 the `RuntimeVisibleTypeAnnotations` Attribute
Since:
  24
See Also:
  - `Attributes.runtimeVisibleTypeAnnotations()`
  - `TypeMirror`
  - `AnnotatedType`
  - `ElementType.TYPE_PARAMETER`
  - `ElementType.TYPE_USE`
  - `RetentionPolicy.RUNTIME`

## Methods

- =
  public abstract java.util.List<java.lang.classfile.TypeAnnotation> annotations()
- =
  public static java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute of(java.lang.classfile.TypeAnnotation[] arg0)
- =
  public static java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute of(java.util.List<java.lang.classfile.TypeAnnotation> arg0)

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
RuntimeVisibleTypeAnnotationsAttribute |  |  |  |  |  |  | 4 |  |  | 4
Total |  |  |  |  |  |  | 4 |  |  | 4