# 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`
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`
`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`
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

### 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