Interface MethodModel
- All Superinterfaces:
AttributedElement, ClassElement, ClassFileElement, CompoundElement<MethodElement>, Iterable<MethodElement>
public sealed interface MethodModel
extends CompoundElement<MethodElement>, AttributedElement, ClassElement
Models a method. A method can be viewed as a composition of
MethodElement
s, or by random access via accessor
methods if only specific parts of the method is needed.
Methods can be obtained from ClassModel.methods()
, or in the
traversal of member elements of a class.
ClassBuilder.withMethod(String, MethodTypeDesc, int, Consumer)
is the
main way to construct methods. ClassBuilder.transformMethod(MethodModel, MethodTransform)
allows
creating a new method by selectively processing the original method elements
and directing the results to a method builder.
All method attributes are accessible as member elements.
- See Java Virtual Machine Specification:
-
4.6 Methods
- Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncode()
Returns the body of this method, if there is one.flags()
Returns the access flags.Returns the name of this method.Returns the method descriptor string of this method.default MethodTypeDesc
Returns the method type, as a symbolic descriptor.parent()
Returns the class model this method is a member of, if known.Methods declared in interface AttributedElement
attributes, findAttribute, findAttributes
Modifier and TypeMethodDescriptionReturns the attributes of this structure.findAttribute
(AttributeMapper<T> attr) Finds an attribute by name.findAttributes
(AttributeMapper<T> attr) Finds attributes by name.Methods declared in interface CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Modifier and TypeMethodDescriptiondefault List
<MethodElement> Returns aList
containing all member elements in this compound element.default Stream
<MethodElement> Returns aStream
containing all member elements in this compound element.void
forEach
(Consumer<? super MethodElement> consumer) Invokes the provided handler with each member element in this compound element.default Iterator
<MethodElement> iterator()
Returns anIterator
describing all member elements in this compound element.default String
Returns a text representation of the compound element and its contents for debugging purposes.Methods declared in interface Iterable
spliterator
Modifier and TypeMethodDescriptiondefault Spliterator
<MethodElement> Creates aSpliterator
over the elements described by thisIterable
.
-
Method Details
-
flags
-
parent
Optional<ClassModel> parent()Returns the class model this method is a member of, if known.- Returns:
- the class model this method is a member of, if known
-
methodName
-
methodType
Utf8Entry methodType()Returns the method descriptor string of this method.- Returns:
- the method descriptor string of this method
-
methodTypeSymbol
Returns the method type, as a symbolic descriptor.- Returns:
- the method type, as a symbolic descriptor
-
code
-