Interface CodeModel
- All Superinterfaces:
AttributedElement
,ClassFileElement
,CompoundElement<CodeElement>
,Iterable<CodeElement>
,MethodElement
- All Known Subinterfaces:
CodeAttribute
Code
attribute). A Code
attribute is viewed as a composition of CodeElement
s, which is the only way to access Instruction
s; the
order of elements of a code model is significant.
A CodeModel
is obtained from MethodModel.code()
, or in the
traversal of the member elements of a method.
MethodBuilder.withCode(java.util.function.Consumer<? super java.lang.classfile.CodeBuilder>)
is the main way to build code models. MethodBuilder.transformCode(java.lang.classfile.CodeModel, java.lang.classfile.CodeTransform)
and CodeBuilder.transforming(java.lang.classfile.CodeTransform, java.util.function.Consumer<java.lang.classfile.CodeBuilder>)
allow
creating new Code
attributes by selectively processing the original
code elements and directing the results to a code builder.
A Code
attribute holds attributes, but they are usually not member
elements, but are decomposed to PseudoInstruction
, accessible
according to ClassFile.DeadLabelsOption
, ClassFile.DebugElementsOption
, and
ClassFile.LineNumbersOption
. StackMapTableAttribute
can only be
accessed via explicit attribute reading, as it
is considered a derived property from the code body.
- See Java Virtual Machine Specification:
-
4.7.3 The
Code
Attribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns the exception table of the method.parent()
Returns the enclosing method, if known.Methods declared in interface java.lang.classfile.AttributedElement
attributes, findAttribute, findAttributes
Methods declared in interface java.lang.classfile.CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Methods declared in interface java.lang.Iterable
spliterator
-
Method Details
-
parent
Optional<MethodModel> parent()Returns the enclosing method, if known.- Returns:
- the enclosing method, if known
-
exceptionHandlers
List<ExceptionCatch> exceptionHandlers()Returns the exception table of the method. The exception table is also modeled byExceptionCatch
elements in the streaming view.- Returns:
- the exception table of the method
-