Spec-Zone.ru › OpenJDK 25

Interface MethodBuilder

All Superinterfaces:
ClassFileBuilder<MethodElement, MethodBuilder>, Consumer<MethodElement>
public sealed interface MethodBuilder extends ClassFileBuilder<MethodElement, MethodBuilder>
A builder for methods. The main way to obtain a method builder is via 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.

See Java Virtual Machine Specification:
4.6 Methods
Since:
24
See Also:
  • MethodModel
  • MethodTransform

Method Summary

Modifier and Type Method Description
MethodBuilder transformCode(CodeModel code, CodeTransform transform)
Build the method body for this method by transforming the body of another method.
MethodBuilder withCode(Consumer<? super CodeBuilder> code)
Build the method body for this method.
default MethodBuilder withFlags(int flags)
Sets the method access flags.
default MethodBuilder withFlags(AccessFlag... flags)
Sets the method access flags.

Methods declared in interface ClassFileBuilder

accept, constantPool, transform, with

Methods declared in interface Consumer

andThen

Method Details

withFlags

default MethodBuilder withFlags(int flags)
Sets the method access flags. The AccessFlag.STATIC flag cannot be modified after the builder is created.
Parameters:
flags - the access flags, as a bit mask
Returns:
this builder
Throws:
IllegalArgumentException - if the ACC_STATIC flag is modified
See Also:
  • AccessFlags
  • AccessFlag.Location.METHOD

withFlags

default MethodBuilder withFlags(AccessFlag... flags)
Sets the method access flags. The AccessFlag.STATIC flag cannot be modified after the builder is created.
Parameters:
flags - the access flags, as a bit mask
Returns:
this builder
Throws:
IllegalArgumentException - if the ACC_STATIC flag is modified
See Also:
  • AccessFlags
  • AccessFlag.Location.METHOD

withCode

MethodBuilder withCode(Consumer<? super CodeBuilder> code)
Build the method body for this method.
Parameters:
code - a handler receiving a CodeBuilder
Returns:
this builder
See Also:
  • CodeModel

transformCode

MethodBuilder transformCode(CodeModel code, CodeTransform transform)
Build the method body for this method by transforming the body of another method.

This method behaves as if:

withCode(cob -> cob.transform(code, transform));
Parameters:
code - the method body to be transformed
transform - the transform to apply to the method body
Returns:
this builder
See Also:
  • CodeTransform

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API