Interface CodeAttribute
- All Superinterfaces:
Attribute<CodeAttribute>
,AttributedElement
,ClassFileElement
,CodeModel
,CompoundElement<CodeElement>
,Iterable<CodeElement>
,MethodElement
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 MethodElement
when traversing the elements of a
MethodModel
.
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:
- 24
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
Returns the bytes (bytecode) of the code array.int
Returns The length of the code array in bytes.int
labelToBci
(Label label) Returns the position of thelabel
in thecodeArray
.int
Returns the maximum size of the local variable table.int
maxStack()
Returns the maximum size of the operand stack.Methods declared in interface java.lang.classfile.Attribute
attributeMapper, attributeName
Methods declared in interface java.lang.classfile.AttributedElement
attributes, findAttribute, findAttributes
Methods declared in interface java.lang.classfile.CodeModel
exceptionHandlers, parent
Methods declared in interface java.lang.classfile.CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Methods 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 thelabel
in thecodeArray
.- Parameters:
label
- a marker for a position within thisCodeAttribute
- Returns:
- the position of the
label
in thecodeArray
- Throws:
IllegalArgumentException
- if thelabel
is not from this attribute
-