W3cubDocs

/OpenJDK 25

Interface TypeAnnotation.TypePathComponent

Enclosing interface:
TypeAnnotation
public static sealed interface TypeAnnotation.TypePathComponent
JVMS: Type_path structure identifies which part of the type is annotated, as defined in JVMS 4.7.20.2
Since:
24
See Also:

Nested Class Summary

Modifier and Type Interface Description
static enum  TypeAnnotation.TypePathComponent.Kind
Type path kind, as defined in JVMS 4.7.20.2

Field Summary

Modifier and Type Field Description
static final TypeAnnotation.TypePathComponent ARRAY
static instance for annotation is deeper in an array type
static final TypeAnnotation.TypePathComponent INNER_TYPE
static instance for annotation is deeper in a nested type
static final TypeAnnotation.TypePathComponent WILDCARD
static instance for annotation is on the bound of a wildcard type argument of a parameterized type

Method Summary

Modifier and Type Method Description
static TypeAnnotation.TypePathComponent of(TypeAnnotation.TypePathComponent.Kind typePathKind, int typeArgumentIndex)
Returns type path component of an annotation.
int typeArgumentIndex()
JVMS: type_argument_index If the value of the type_path_kind item is 0, 1, or 2, then the value of the type_argument_index item is 0.
TypeAnnotation.TypePathComponent.Kind typePathKind()
The type path kind items from JVMS Table 4.7.20.2-A.

Field Details

ARRAY

static final TypeAnnotation.TypePathComponent ARRAY
static instance for annotation is deeper in an array type

INNER_TYPE

static final TypeAnnotation.TypePathComponent INNER_TYPE
static instance for annotation is deeper in a nested type

WILDCARD

static final TypeAnnotation.TypePathComponent WILDCARD
static instance for annotation is on the bound of a wildcard type argument of a parameterized type

Method Details

typePathKind

TypeAnnotation.TypePathComponent.Kind typePathKind()
The type path kind items from JVMS Table 4.7.20.2-A.
Returns:
the kind of path element

typeArgumentIndex

int typeArgumentIndex()
JVMS: type_argument_index If the value of the type_path_kind item is 0, 1, or 2, then the value of the type_argument_index item is 0. If the value of the type_path_kind item is 3, then the value of the type_argument_index item specifies which type argument of a parameterized type is annotated, where 0 indicates the first type argument of a parameterized type.
Returns:
the index within the type component

of

static TypeAnnotation.TypePathComponent of(TypeAnnotation.TypePathComponent.Kind typePathKind, int typeArgumentIndex)
Returns type path component of an annotation.
Parameters:
typePathKind - the kind of path element
typeArgumentIndex - the type argument index
Returns:
type path component of an annotation

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/TypeAnnotation.TypePathComponent.html