Интерфейс CodeAttribute
- Все суперинтерфейсы:
Attribute<CodeAttribute>, AttributedElement, ClassFileElement, CodeModel, CompoundElement<CodeElement>, Iterable<CodeElement>, MethodElement
public sealed interface CodeAttribute extends Attribute<CodeAttribute>, CodeModel
Моделирует атрибут
Code (JVMS 4.7.3), который содержит байткод этого метода. Этот атрибут встречается только у методов и не допускает несколько экземпляров в методе. Он зависит от данных из пула констант.
Этот атрибут появился в версии 1.0.2 платформы Java, основная версия 45.
- Примечание к API:
-
CodeAttributeмоделирует свойства атрибутаCode, прочитанного из файловclass. При общем преобразовании файловclassследует обрабатывать и обходитьCodeModelпри обходеMethodModel, чтобы поддержать преобразование атрибутовCode, которые в данный момент создаются. - См. Спецификацию виртуальной машины Java:
- 4.7.3 Атрибут
Code
- Начиная с версии:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
byte[] |
codeArray() |
Возвращает байты (байткод) массива кода. |
int |
codeLength() |
Возвращает длину массива кода в байтах. |
int |
labelToBci |
Возвращает позицию label в codeArray. |
int |
maxLocals() |
Возвращает максимальный размер таблицы локальных переменных. |
int |
maxStack() |
Возвращает максимальный размер стека операндов. |
Методы, объявленные в интерфейсе Attribute
attributeMapper, attributeName
Методы, объявленные в интерфейсе AttributedElement
attributes, findAttribute, findAttributes
Методы, объявленные в интерфейсе CodeModel
exceptionHandlers, parent
Методы, объявленные в интерфейсе CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Методы, объявленные в интерфейсе Iterable
spliterator
Подробное описание методов
maxLocals
int maxLocals()
Возвращает максимальный размер таблицы локальных переменных.
- Возвращает:
- максимальный размер таблицы локальных переменных
maxStack
int maxStack()
Возвращает максимальный размер стека операндов.
- Возвращает:
- максимальный размер стека операндов
codeLength
int codeLength()
Возвращает длину массива кода в байтах.
- Возвращает:
- длину массива кода в байтах
codeArray
byte[] codeArray()
Возвращает байты (байткод) массива кода.
- Возвращает:
- байты (байткод) массива кода
labelToBci
int labelToBci(Label label)
Возвращает позицию
label в codeArray. Метка представляет собой курсор, указывающий непосредственно перед возвращаемым индексом в массиве code.- Параметры:
-
label— маркер позиции в этомCodeAttribute - Возвращает:
- позицию
labelвcodeArray - Вызывает исключение:
-
IllegalArgumentException— еслиlabelне относится к этому атрибуту
© 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/attribute/CodeAttribute.html