# Interface RuntimeInvisibleParameterAnnotationsAttribute

All Superinterfaces:
  `Attribute<RuntimeInvisibleParameterAnnotationsAttribute>, ClassFileElement, MethodElement`

public sealed interface RuntimeInvisibleParameterAnnotationsAttribute extends Attribute<RuntimeInvisibleParameterAnnotationsAttribute>, MethodElement
Models the `RuntimeInvisibleParameterAnnotations` attribute (JVMS 4.7.19), which stores declaration annotations on the method parameters of this method that are visible to `class` file consumers but are not visible to core reflection.

This attribute only appears on methods, and does not permit multiple instances in a method. It has a data dependency on the constant pool.

The attribute was introduced in the Java SE Platform version 5.0, major version 49.

See Java Virtual Machine Specification:
  4.7.19 The `RuntimeInvisibleParameterAnnotations` Attribute
Since:
  24
See Also:
  - `Attributes.runtimeInvisibleParameterAnnotations()`
  - `ElementType.PARAMETER`
  - `RetentionPolicy.CLASS`

## Method Summary

Modifier and Type
Method
Description
`static RuntimeInvisibleParameterAnnotationsAttribute`
`of(List<List<Annotation>> parameterAnnotations)`
Returns a `RuntimeInvisibleParameterAnnotations` attribute.
`List<List<Annotation>>`
`parameterAnnotations()`
Returns the list of run-time invisible annotations on the method parameters.

### Methods declared in interface Attribute

`attributeMapper, attributeName`

## Method Details

### parameterAnnotations

List<List<Annotation>> parameterAnnotations()
Returns the list of run-time invisible annotations on the method parameters. The element at the i'th index corresponds to the annotations on the i'th formal parameter, but note that some synthetic or implicit parameters may be omitted by this list. If a parameter has no annotations, that element is left empty, but is not omitted; thus, the list will never be truncated because trailing parameters are not annotated.

Returns:
  the list of run-time invisible annotations on the method parameters
See Also:
  - Java programming language and JVM modeling in core reflection

### of

static RuntimeInvisibleParameterAnnotationsAttribute of(List<List<Annotation>> parameterAnnotations)
Returns a `RuntimeInvisibleParameterAnnotations` attribute. The `parameterAnnotations` list should not be truncated, and must have a length equal to the number of formal parameters; elements for unannotated parameters may be empty, but may not be omitted. It may omit some synthetic or implicit parameters.

Parameters:
  `parameterAnnotations` - a list of run-time invisible annotations for each parameter
Returns:
  a `RuntimeInvisibleParameterAnnotations` attribute