Spec-Zone.ru › OpenJDK 24

Интерфейс MethodBuilder

Все суперинтерфейсы:
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) полезен, если для настройки метода требуется только атрибут Code, а обработчик метода можно пропустить.

Обратитесь к ClassFileBuilder для общей информации и рекомендаций по использованию построителей для структур в формате файла class.

См. Спецификацию Java Virtual Machine:
4.6 Методы
С:
24
См. также:
  • MethodModel
  • MethodTransform

Краткое описание методов

Модификатор и тип Метод Описание
MethodBuilder transformCode(CodeModel code, CodeTransform transform)
Создает тело метода, преобразуя тело другого метода.
MethodBuilder withCode(Consumer<? super CodeBuilder> code)
Создает тело метода.
default MethodBuilder withFlags(int flags)
Устанавливает флаги доступа к методу.
default MethodBuilder withFlags(AccessFlag... flags)
Устанавливает флаги доступа к методу.

Методы, объявленные в интерфейсе java.lang.classfile.ClassFileBuilder

accept, constantPool, transform, with

Методы, объявленные в интерфейсе java.util.function.Consumer

andThen

Подробное описание методов

withFlags

default MethodBuilder withFlags(int flags)
Устанавливает флаги доступа к методу. Флаг AccessFlag.STATIC нельзя изменить после создания построителя.
Параметры:
flags - флаги доступа, как битовая маска
Возвращает:
этот построитель
Исключения:
IllegalArgumentException - если флаг ACC_STATIC изменен
См. также:
  • AccessFlags
  • AccessFlag.Location.METHOD

withFlags

default MethodBuilder withFlags(AccessFlag... flags)
Устанавливает флаги доступа к методу. Флаг AccessFlag.STATIC нельзя изменить после создания построителя.
Параметры:
flags - флаги доступа, как битовая маска
Возвращает:
этот построитель
Исключения:
IllegalArgumentException - если флаг ACC_STATIC изменен
См. также:
  • AccessFlags
  • AccessFlag.Location.METHOD

withCode

MethodBuilder withCode(Consumer<? super CodeBuilder> code)
Создает тело метода.
Параметры:
code - обработчик, принимающий CodeBuilder
Возвращает:
этот построитель
См. также:
  • CodeModel

transformCode

MethodBuilder transformCode(CodeModel code, CodeTransform transform)
Создает тело метода, преобразуя тело другого метода.

Этот метод ведет себя так, как будто:

withCode(cob -> cob.transform(code, transform));
Параметры:
code - тело метода, которое должно быть преобразовано
transform - преобразование, которое нужно применить к телу метода
Возвращает:
этот построитель
См. также:
  • CodeTransform

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/MethodBuilder.html

Spec-Zone.ru

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