Интерфейс 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, и можно пропустить обработчик метода. Общие рекомендации и предупреждения об использовании построителей для структур в формате файла class см. в разделе ClassFileBuilder.
- См. Спецификацию виртуальной машины Java:
- 4.6 Методы
- Начиная с:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
MethodBuilder |
transformCode |
Создаёт тело метода, преобразуя тело другого метода. |
MethodBuilder |
withCode |
Создаёт тело этого метода. |
default MethodBuilder |
withFlags |
Задаёт флаги доступа метода. |
default MethodBuilder |
withFlags |
Задаёт флаги доступа метода. |
Методы, объявленные в интерфейсе ClassFileBuilder
accept, constantPool, transform, with | Модификатор и тип | Метод | Описание |
|---|---|---|
default void |
accept |
Включает элемент-член в создаваемую структуру. |
ConstantPoolBuilder |
constantPool() |
Возвращает построитель пула констант, связанный с этим построителем. |
default MethodBuilder |
transform |
Применяет преобразование к составной структуре, направляя результаты в этот построитель. |
MethodBuilder |
with |
Включает элемент-член в создаваемую структуру. |
Методы, объявленные в интерфейсе Consumer
andThen | Модификатор и тип | Метод | Описание |
|---|---|---|
default Consumer |
andThen |
Возвращает составной Consumer, который последовательно выполняет сначала эту операцию, а затем операцию after. |
Подробное описание методов
withFlags
default MethodBuilder withFlags(int flags)
Задаёт флаги доступа метода. Флаг
AccessFlag.STATIC нельзя изменить после создания построителя.- Параметры:
-
flags— флаги доступа в виде битовой маски - Возвращает:
- этот построитель
- Вызывает исключение:
-
IllegalArgumentException— еслиflagsне являетсяu2или изменяется флагACC_STATIC - См. также:
withFlags
default MethodBuilder withFlags(AccessFlag... flags)
Задаёт флаги доступа метода. Флаг
AccessFlag.STATIC нельзя изменить после создания построителя.- Параметры:
-
flags— флаги доступа в виде битовой маски - Возвращает:
- этот построитель
- Вызывает исключение:
-
IllegalArgumentException— если изменяется флагACC_STATICили какой-либо флаг нельзя применить в расположенииAccessFlag.Location.METHOD - См. также:
withCode
MethodBuilder withCode(Consumer<? super CodeBuilder> code)
Создаёт тело этого метода.
- Параметры:
-
code— обработчик, получающийCodeBuilder - Возвращает:
- этот построитель
- См. также:
transformCode
MethodBuilder transformCode(CodeModel code, CodeTransform transform)
Создаёт тело этого метода, преобразуя тело другого метода.
Этот метод работает так, как если бы выполнялся следующий код:
withCode(cob -> cob.transform(code, transform));
- Параметры:
-
code— тело метода, которое необходимо преобразовать -
transform— преобразование, применяемое к телу метода - Возвращает:
- этот построитель
- См. также:
© 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.