# Interface RuntimeVisibleTypeAnnotationsAttribute

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

public sealed interface RuntimeVisibleTypeAnnotationsAttribute extends Attribute<RuntimeVisibleTypeAnnotationsAttribute>, ClassElement, 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`

## Method Summary

Modifier and Type
Method
Description
`List<TypeAnnotation>`
`annotations()`
Returns the run-time visible annotations on uses of types in this structure.
`static RuntimeVisibleTypeAnnotationsAttribute`
`of(TypeAnnotation... annotations)`
Returns a `RuntimeVisibleTypeAnnotations` attribute.
`static RuntimeVisibleTypeAnnotationsAttribute`
`of(List<TypeAnnotation> annotations)`
Returns a `RuntimeVisibleTypeAnnotations` attribute.

### Methods declared in interface Attribute

`attributeMapper, attributeName`
Modifier and Type
Method
Description
`AttributeMapper<RuntimeVisibleTypeAnnotationsAttribute>`
`attributeMapper()`
Returns the `AttributeMapper` associated with this attribute.
`Utf8Entry`
`attributeName()`
Returns the name of the attribute.

## Method Details

### annotations

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

Returns:
  the run-time visible annotations on uses of types in this structure

### of

static RuntimeVisibleTypeAnnotationsAttribute of(List<TypeAnnotation> annotations)
Returns a `RuntimeVisibleTypeAnnotations` attribute.

Parameters:
  `annotations` - the annotations
Returns:
  a `RuntimeVisibleTypeAnnotations` attribute
Throws:
  `IllegalArgumentException` - if the number of annotations exceeds the limit of `u2`

### of

static RuntimeVisibleTypeAnnotationsAttribute of(TypeAnnotation... annotations)
Returns a `RuntimeVisibleTypeAnnotations` attribute.

Parameters:
  `annotations` - the annotations
Returns:
  a `RuntimeVisibleTypeAnnotations` attribute
Throws:
  `IllegalArgumentException` - if the number of annotations exceeds the limit of `u2`