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

# Interface TypeAnnotation.FormalParameterTarget

All Superinterfaces:
  `TypeAnnotation.TargetInfo`

Enclosing interface:
  `TypeAnnotation`

public static sealed interface TypeAnnotation.FormalParameterTarget extends TypeAnnotation.TargetInfo
Indicates that an annotation appears on the type in a formal parameter declaration of a method, constructor, or lambda expression.

Since:
  24
See Also:
  - `TypeAnnotation.TargetInfo.ofMethodFormalParameter(int)`

- ## Field Summary

  ### Fields declared in interface TypeAnnotation.TargetInfo

  `TARGET_CAST, TARGET_CLASS_EXTENDS, TARGET_CLASS_TYPE_PARAMETER, TARGET_CLASS_TYPE_PARAMETER_BOUND, TARGET_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT, TARGET_CONSTRUCTOR_REFERENCE, TARGET_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT, TARGET_EXCEPTION_PARAMETER, TARGET_FIELD, TARGET_INSTANCEOF, TARGET_LOCAL_VARIABLE, TARGET_METHOD_FORMAL_PARAMETER, TARGET_METHOD_INVOCATION_TYPE_ARGUMENT, TARGET_METHOD_RECEIVER, TARGET_METHOD_REFERENCE, TARGET_METHOD_REFERENCE_TYPE_ARGUMENT, TARGET_METHOD_RETURN, TARGET_METHOD_TYPE_PARAMETER, TARGET_METHOD_TYPE_PARAMETER_BOUND, TARGET_NEW, TARGET_RESOURCE_VARIABLE, TARGET_THROWS`
  Modifier and Type
  Field
  Description
  `static final int`
  `TARGET_CAST`
  The value of type annotation target type `CAST`.
  `static final int`
  `TARGET_CLASS_EXTENDS`
  The value of type annotation target type `CLASS_EXTENDS`.
  `static final int`
  `TARGET_CLASS_TYPE_PARAMETER`
  The value of type annotation target type `CLASS_TYPE_PARAMETER`.
  `static final int`
  `TARGET_CLASS_TYPE_PARAMETER_BOUND`
  The value of type annotation target type `CLASS_TYPE_PARAMETER_BOUND`.
  `static final int`
  `TARGET_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`
  The value of type annotation target type `CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`.
  `static final int`
  `TARGET_CONSTRUCTOR_REFERENCE`
  The value of type annotation target type `CONSTRUCTOR_REFERENCE`.
  `static final int`
  `TARGET_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`
  The value of type annotation target type `CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`.
  `static final int`
  `TARGET_EXCEPTION_PARAMETER`
  The value of type annotation target type `EXCEPTION_PARAMETER`.
  `static final int`
  `TARGET_FIELD`
  The value of type annotation target type `FIELD`.
  `static final int`
  `TARGET_INSTANCEOF`
  The value of type annotation target type `INSTANCEOF`.
  `static final int`
  `TARGET_LOCAL_VARIABLE`
  The value of type annotation target type `LOCAL_VARIABLE`.
  `static final int`
  `TARGET_METHOD_FORMAL_PARAMETER`
  The value of type annotation target type `METHOD_FORMAL_PARAMETER`.
  `static final int`
  `TARGET_METHOD_INVOCATION_TYPE_ARGUMENT`
  The value of type annotation target type `METHOD_INVOCATION_TYPE_ARGUMENT`.
  `static final int`
  `TARGET_METHOD_RECEIVER`
  The value of type annotation target type `METHOD_RECEIVER`.
  `static final int`
  `TARGET_METHOD_REFERENCE`
  The value of type annotation target type `METHOD_REFERENCE`.
  `static final int`
  `TARGET_METHOD_REFERENCE_TYPE_ARGUMENT`
  The value of type annotation target type `METHOD_REFERENCE_TYPE_ARGUMENT`.
  `static final int`
  `TARGET_METHOD_RETURN`
  The value of type annotation target type `METHOD_RETURN`.
  `static final int`
  `TARGET_METHOD_TYPE_PARAMETER`
  The value of type annotation target type `METHOD_TYPE_PARAMETER`.
  `static final int`
  `TARGET_METHOD_TYPE_PARAMETER_BOUND`
  The value of type annotation target type `METHOD_TYPE_PARAMETER_BOUND`.
  `static final int`
  `TARGET_NEW`
  The value of type annotation target type `NEW`.
  `static final int`
  `TARGET_RESOURCE_VARIABLE`
  The value of type annotation target type `RESOURCE_VARIABLE`.
  `static final int`
  `TARGET_THROWS`
  The value of type annotation target type `THROWS`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `formalParameterIndex()`
  Returns the index into the formal parameter declarations, in the order declared in the source code.

  ### Methods declared in interface TypeAnnotation.TargetInfo

  `size, targetType`
  Modifier and Type
  Method
  Description
  `default int`
  `size()`
  Returns the size of the target info.
  `TypeAnnotation.TargetType`
  `targetType()`
  Returns the type of the target.

- ## Method Details

  - ### formalParameterIndex

    int formalParameterIndex()
    Returns the index into the formal parameter declarations, in the order declared in the source code. The index may differ from the index in the method descriptor because some synthetic or implicit parameters are omitted.
    Returns:
      the index into the formal parameter declarations, in the order declared in the source code