Spec-Zone.ru › OpenJDK 24

Интерфейс CodeAttribute

Все суперинтерфейсы:
Attribute<CodeAttribute>, AttributedElement, ClassFileElement, CodeModel, CompoundElement<CodeElement>, Iterable<CodeElement>, MethodElement
public sealed interface CodeAttribute extends Attribute<CodeAttribute>, CodeModel
Моделирует атрибут Code (JVMS 4.7.3), содержащий байткод этого метода.

Этот атрибут появляется только в методах и не допускает несколько экземпляров в методе. Он имеет зависимость от данных от константного пула.

Этот атрибут был введён в версии Java Platform 1.0.2, мажорная версия 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()
Возвращает максимальный размер стека операндов.

Методы, объявленные в интерфейсе java.lang.classfile.Attribute

attributeMapper, attributeName

Методы, объявленные в интерфейсе java.lang.classfile.AttributedElement

attributes, findAttribute, findAttributes

Методы, объявленные в интерфейсе java.lang.classfile.CodeModel

exceptionHandlers, parent

Методы, объявленные в интерфейсе java.lang.classfile.CompoundElement

elementList, elementStream, forEach, iterator, toDebugString

Методы, объявленные в интерфейсе java.lang.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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/attribute/CodeAttribute.html

Spec-Zone.ru

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