ClassFileBuilder<MethodElement, MethodBuilder>, Consumer<MethodElement>public sealed interface MethodBuilder extends ClassFileBuilder<MethodElement, MethodBuilder>
ClassBuilder.withMethod(String, MethodTypeDesc, int, Consumer). ClassBuilder.withMethodBody(String, MethodTypeDesc, int, Consumer) is useful if no attribute on the method except Code needs to be configured, skipping the method handler. Refer to ClassFileBuilder for general guidance and caution around the use of builders for structures in the class file format.
| Modifier and Type | Method | Description |
|---|---|---|
MethodBuilder |
transformCode |
Build the method body for this method by transforming the body of another method. |
MethodBuilder |
withCode |
Build the method body for this method. |
default MethodBuilder |
withFlags |
Sets the method access flags. |
default MethodBuilder |
withFlags |
Sets the method access flags. |
accept, constantPool, transform, with
default MethodBuilder withFlags(int flags)
AccessFlag.STATIC flag cannot be modified after the builder is created.flags - the access flags, as a bit maskIllegalArgumentException - if the ACC_STATIC flag is modifieddefault MethodBuilder withFlags(AccessFlag... flags)
AccessFlag.STATIC flag cannot be modified after the builder is created.flags - the access flags, as a bit maskIllegalArgumentException - if the ACC_STATIC flag is modifiedMethodBuilder withCode(Consumer<? super CodeBuilder> code)
code - a handler receiving a CodeBuilder
MethodBuilder transformCode(CodeModel code, CodeTransform transform)
This method behaves as if:
withCode(cob -> cob.transform(code, transform));
code - the method body to be transformedtransform - the transform to apply to the method body
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/MethodBuilder.html