Интерфейс TypeAnnotation
public sealed interface TypeAnnotation
type_annotation (JVMS 4.7.20). Эта модель указывает на аннотированный тип в объявлении или выражении и часть указанного типа, которая аннотирована, помимо того, что доступно в Annotation. Эта модель может восстановить аннотацию на типе или части типа, зная местоположение структуры type_annotation в файле класса и определение интерфейса аннотации.
Два объекта TypeAnnotation должны быть сравнены с помощью метода equals.
- Since:
- 24
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static interface |
TypeAnnotation.CatchTarget |
Указывает, что аннотация появляется на i-том типе в объявлении параметра исключения. |
static interface |
TypeAnnotation.EmptyTarget |
Указывает, что аннотация появляется на типе в объявлении поля, типе возвращаемого значения метода, типе вновь созданного объекта или типе получателя метода или конструктора. |
static interface |
TypeAnnotation.FormalParameterTarget |
Указывает, что аннотация появляется на типе в объявлении формального параметра метода, конструктора или лямбда-выражения. |
static interface |
TypeAnnotation.LocalVarTarget |
Указывает, что аннотация появляется на типе в объявлении локальной переменной, включая переменную, объявленную как ресурс в операторе try-with-resources. |
static interface |
TypeAnnotation.LocalVarTargetInfo |
Указывает диапазон смещений массива кода, в пределах которого локальная переменная имеет значение, и индекс в массив локальных переменных текущей рамки, в котором эта локальная переменная может быть найдена. |
static interface |
TypeAnnotation.OffsetTarget |
Указывает, что аннотация появляется на типе в выражении instanceof или выражении new, или на типе перед :: в выражении ссылки на метод. |
static interface |
TypeAnnotation.SupertypeTarget |
Указывает, что аннотация появляется на типе в предложении extends или implements объявления класса или интерфейса. |
static interface |
TypeAnnotation.TargetInfo |
Указывает, какой тип в объявлении или выражении аннотируется. |
static enum |
TypeAnnotation.TargetType |
Вид целевого объекта, на котором появляется аннотация, как определено в JVMS 4.7.20.1. |
static interface |
TypeAnnotation.ThrowsTarget |
Указывает, что аннотация появляется на i-том типе в предложении throws объявления метода или конструктора. |
static interface |
TypeAnnotation.TypeArgumentTarget |
Указывает, что аннотация появляется либо на i-том типе в выражении приведения типа, либо на i-м типе аргумента в явном списке аргументов типа для любого из следующих: выражение new, явное обращение к конструктору, выражение вызова метода или выражение ссылки на метод. |
static interface |
TypeAnnotation.TypeParameterBoundTarget |
Указывает, что аннотация появляется на j-м ограничении i-го параметра типа объявления обобщенного класса, интерфейса, метода или конструктора. |
static interface |
TypeAnnotation.TypeParameterTarget |
Указывает, что аннотация появляется на объявлении i-го параметра типа обобщенного класса, обобщенного интерфейса, обобщенного метода или обобщенного конструктора. |
static interface |
TypeAnnotation.TypePathComponent |
JVMS: Структура Type_path определяет, какая часть типа аннотирована, как определено в JVMS 4.7.20.2
|
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Annotation |
annotation() |
Возвращает примененную аннотацию к части, указанной в targetPath(). |
static TypeAnnotation |
of |
Возвращает структуру type_annotation. |
TypeAnnotation.TargetInfo |
targetInfo() |
Возвращает информацию, точно описывающую, какой тип в объявлении или выражении аннотируется. |
List |
targetPath() |
Возвращает часть типа, указанного в targetInfo(), которая аннотирована. |
Подробное описание методов
targetInfo
TypeAnnotation.TargetInfo targetInfo()
target_type и target_info.- Возвращает:
- информацию, точно описывающую, какой тип в объявлении или выражении аннотируется
targetPath
List<TypeAnnotation.TypePathComponent> targetPath()
targetInfo(), которая аннотирована.- Возвращает:
- часть типа, указанного в
targetInfo(), которая аннотирована
annotation
Annotation annotation()
targetPath(). Моделирует интерфейс аннотации и набор пар имя-значение, подмножество структуры type_annotation, идентичное структуре annotation.- Возвращает:
- аннотацию, примененную к части, указанной в
targetPath()
of
static TypeAnnotation of(TypeAnnotation.TargetInfo targetInfo, List<TypeAnnotation.TypePathComponent> targetPath, Annotation annotation)
type_annotation.- Параметры:
-
targetInfo- какой тип в объявлении или выражении аннотирован -
targetPath- какая часть типа аннотирована -
annotation- аннотация - Возвращает:
- структуру
type_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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/TypeAnnotation.html