Interface CodeAttribute
- All Superinterfaces:
AttributePREVIEW<CodeAttributePREVIEW>,AttributedElementPREVIEW,ClassFileElementPREVIEW,CodeModelPREVIEW,CompoundElementPREVIEW<CodeElementPREVIEW>,Iterable<CodeElementPREVIEW>,MethodElementPREVIEW
public sealed interface CodeAttribute
extends AttributePREVIEW<CodeAttributePREVIEW>, CodeModelPREVIEW
CodeAttribute is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the
Code attribute (JVMS 4.7.3), appears on non-native,
non-abstract methods and contains the bytecode of the method body. Delivered
as a MethodElementPREVIEW when traversing the elements of a
MethodModelPREVIEW.
The attribute does not permit multiple instances in a given location. Subsequent occurrence of the attribute takes precedence during the attributed element build or transformation.
- Since:
- 22
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]Returns the bytes (bytecode) of the code array.intReturns The length of the code array in bytes.intlabelToBci(LabelPREVIEW label) Returns the position of thelabelin thecodeArray.intReturns the maximum size of the local variable table.intmaxStack()Returns the maximum size of the operand stack.Methods declared in interface java.lang.classfile.AttributePREVIEW
attributeMapper, attributeNameMethods declared in interface java.lang.classfile.AttributedElementPREVIEW
attributes, findAttribute, findAttributesMethods declared in interface java.lang.classfile.CodeModelPREVIEW
exceptionHandlers, parentMethods declared in interface java.lang.classfile.CompoundElementPREVIEW
elementList, elementStream, forEach, iteratorMethods declared in interface java.lang.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
Returns the position of thelabelin thecodeArray.- Parameters:
label- a marker for a position within thisCodeAttribute- Returns:
- the position of the
labelin thecodeArray - Throws:
IllegalArgumentException- if thelabelis not from this attribute
-
CodeAttributewhen preview features are enabled.