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

# Interface TypeAnnotation.SupertypeTarget

All Superinterfaces:
  `TypeAnnotation.TargetInfo`

Enclosing interface:
  `TypeAnnotation`

public static sealed interface TypeAnnotation.SupertypeTarget extends TypeAnnotation.TargetInfo
Indicates that an annotation appears on a type in the extends or implements clause of a class or interface declaration.

Since:
  24
See Also:
  - `TypeAnnotation.TargetInfo.ofClassExtends(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`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `supertypeIndex()`
  JVMS: A supertype_index value of 65535 specifies that the annotation appears on the superclass in an extends clause of a class declaration.

  ### Methods declared in interface TypeAnnotation.TargetInfo

  `size, targetType`

- ## Method Details

  - ### supertypeIndex

    int supertypeIndex()
    JVMS: A supertype_index value of 65535 specifies that the annotation appears on the superclass in an extends clause of a class declaration. Any other supertype_index value is an index into the interfaces array of the enclosing ClassFile structure, and specifies that the annotation appears on that superinterface in either the implements clause of a class declaration or the extends clause of an interface declaration.
    Returns:
      the index into the interfaces array or 65535 to indicate it is the superclass