Interface CodeAttribute
- All Superinterfaces:
Attribute<CodeAttribute>, AttributedElement, ClassFileElement, CodeModel, CompoundElement<CodeElement>, Iterable<CodeElement>, MethodElement
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 aCode
attribute read fromclass
files. Generalclass
file transformation should process and traverse aCodeModel
in the traversal of aMethodModel
, to support transformation ofCode
attributes currently being built.- See Java Virtual Machine Specification:
-
4.7.3 The
Code
Attribute - Since:
- 24
- See Also:
-
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 inherited from interface Attribute
attributeMapper, attributeName
Methods inherited from interface AttributedElement
attributes, findAttribute, findAttributes
Methods inherited from interface CodeModel
exceptionHandlers, parent
Methods inherited from interface CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Methods inherited from 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
Returns the position of thelabel
in thecodeArray
. The label represents a cursor pointing at immediately before the returned index into thecode
array.- 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
-