Интерфейс CodeModel
- Все суперинтерфейсы:
-
AttributedElement,ClassFileElement,CompoundElement<CodeElement>,Iterable<CodeElement>,MethodElement
- Все известные подинтерфейсы:
CodeAttribute
public sealed interface CodeModel extends CompoundElement<CodeElement>, AttributedElement, MethodElement permits CodeAttribute (not exhaustive)
Code). Атрибут Code рассматривается как составной элемент CodeElement, который является единственным способом доступа к Instruction; порядок элементов модели кода имеет значение. Модель CodeModel получается из MethodModel.code() или при обходе элементов-членов метода.
MethodBuilder.withCode(java.util.function.Consumer<? super java.lang.classfile.CodeBuilder>) — основной способ построения моделей кода. MethodBuilder.transformCode(java.lang.classfile.CodeModel, java.lang.classfile.CodeTransform) и CodeBuilder.transforming(java.lang.classfile.CodeTransform, java.util.function.Consumer<java.lang.classfile.CodeBuilder>) позволяют создавать новые атрибуты Code, выборочно обрабатывая исходные элементы кода и направляя результаты в создатель кода.
Атрибут Code содержит атрибуты, но они обычно не являются элементами-членами, а декомпозируются в PseudoInstruction, доступные в соответствии с ClassFile.DeadLabelsOption, ClassFile.DebugElementsOption и ClassFile.LineNumbersOption. StackMapTableAttribute доступен только через явное чтение атрибутов, так как считается производной характеристикой тела кода.
- См. Спецификацию виртуальной машины Java:
-
4.7.3 Атрибут
Code
- С версии:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
exceptionHandlers() |
Возвращает таблицу исключений метода. |
Optional |
parent() |
Возвращает метод-оболочку, если известен. |
Методы, объявленные в интерфейсе java.lang.classfile.AttributedElement
attributes, findAttribute, findAttributes
Методы, объявленные в интерфейсе java.lang.classfile.CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Методы, объявленные в интерфейсе java.lang.Iterable
spliterator
Подробное описание методов
parent
Optional<MethodModel> parent()
- Возвращает:
- метод-оболочку, если известен
exceptionHandlers
List<ExceptionCatch> exceptionHandlers()
ExceptionCatch в потоковой модели.- Возвращает:
- таблицу исключений метода
© 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/CodeModel.html