W3cubDocs

/OpenJDK 25

Interface CodeAttribute

All Superinterfaces:
Attribute<CodeAttribute>, AttributedElement, ClassFileElement, CodeModel, CompoundElement<CodeElement>, Iterable<CodeElement>, MethodElement
public sealed interface CodeAttribute extends Attribute<CodeAttribute>, CodeModel
Models the Code attribute (JVMS 4.7.3), which contains the bytecode of this method.

This attribute only appears on methods, and does not permit multiple instances in a method. It has a data dependency on the constant pool.

This attribute was introduced in the Java Platform version 1.0.2, major version 45.

API Note:
CodeAttribute models properties of a Code attribute read from class files. General class file transformation should process and traverse a CodeModel in the traversal of a MethodModel, to support transformation of Code attributes currently being built.
See Java Virtual Machine Specification:
4.7.3 The Code Attribute
Since:
24
See Also:

Method Summary

Modifier and Type Method Description
byte[] codeArray()
Returns the bytes (bytecode) of the code array.
int codeLength()
Returns The length of the code array in bytes.
int labelToBci(Label label)
Returns the position of the label in the codeArray.
int maxLocals()
Returns the maximum size of the local variable table.
int maxStack()
Returns the maximum size of the operand stack.

Methods declared in interface Attribute

attributeMapper, attributeName

Methods declared in interface AttributedElement

attributes, findAttribute, findAttributes

Methods declared in interface CodeModel

exceptionHandlers, parent

Methods declared in interface Iterable

spliterator

Method Details

maxLocals

int maxLocals()
Returns the maximum size of the local variable table.
Returns:
the maximum size of the local variable table

maxStack

int maxStack()
Returns the maximum size of the operand stack.
Returns:
the maximum size of the operand stack

codeLength

int codeLength()
Returns The length of the code array in bytes.
Returns:
The length of the code array in bytes

codeArray

byte[] codeArray()
Returns the bytes (bytecode) of the code array.
Returns:
the bytes (bytecode) of the code array

labelToBci

int labelToBci(Label label)
Returns the position of the label in the codeArray. The label represents a cursor pointing at immediately before the returned index into the code array.
Parameters:
label - a marker for a position within this CodeAttribute
Returns:
the position of the label in the codeArray
Throws:
IllegalArgumentException - if the label is not from this attribute

© 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