MethodParametersAttribute (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile.attribute, interface: MethodParametersAttribute
Keywords: java.lang.classfile.attribute.MethodParametersAttribute interface

# Interface MethodParametersAttribute

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

public sealed interface MethodParametersAttribute extends Attribute<MethodParametersAttribute>, MethodElement
Models the `MethodParameters` attribute (JVMS 4.7.24), which records reflective information about this method's parameters such as access modifiers.

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 8, major version 52.

See Java Virtual Machine Specification:
  4.7.24 The `MethodParameters` Attribute
Since:
  24
See Also:
  - `Attributes.methodParameters()`
  - `Executable.getParameters()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static MethodParametersAttribute`
  `of(MethodParameterInfo... parameters)`
  Returns a `MethodParameters` attribute.
  `static MethodParametersAttribute`
  `of(List<MethodParameterInfo> parameters)`
  Returns a `MethodParameters` attribute.
  `List<MethodParameterInfo>`
  `parameters()`
  Returns information about the parameters of the method.

  ### Methods declared in interface Attribute

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

- ## Method Details

  - ### parameters

    List<MethodParameterInfo> parameters()
    Returns information about the parameters of the method. The i'th entry in the list corresponds to the i'th parameter in the method descriptor.
    Returns:
      information about the parameters of the method

  - ### of

    static MethodParametersAttribute of(List<MethodParameterInfo> parameters)
    Returns a `MethodParameters` attribute.
    Parameters:
      `parameters` - the method parameter descriptions
    Returns:
      a `MethodParameters` attribute
    Throws:
      `IllegalArgumentException` - if the number of parameters exceeds the limit of `u1`

  - ### of

    static MethodParametersAttribute of(MethodParameterInfo... parameters)
    Returns a `MethodParameters` attribute.
    Parameters:
      `parameters` - the method parameter descriptions
    Returns:
      a `MethodParameters` attribute
    Throws:
      `IllegalArgumentException` - if the number of parameters exceeds the limit of `u1`