Spec-Zone.ru › OpenJDK 25

Интерфейс 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
См. также:
  • Attributes.code()
  • CodeModel

Краткое описание методов

Модификатор и тип Метод Описание
byte[] codeArray()
Возвращает байты (байткод) массива кода.
int codeLength()
Возвращает длину массива кода в байтах.
int labelToBci(Label label)
Возвращает позицию 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 не относится к этому атрибуту

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API