インタフェース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 Virtual Machine仕様を参照してください:
「4.6 メソッド」
導入されたバージョン:
24
関連項目:
  • メソッドの詳細

    • withFlags

      default MethodBuilder withFlags(int flags)
      メソッド・アクセス・フラグを設定します。 AccessFlag.STATICフラグは、ビルダーの作成後に変更できません。
      パラメータ:
      flags - ビット・マスクとしてのアクセス・フラグ
      戻り値:
      このビルダー
      スロー:
      IllegalArgumentException - ACC_STATICフラグが変更された場合
      関連項目:
    • withFlags

      default MethodBuilder withFlags(AccessFlag... flags)
      メソッド・アクセス・フラグを設定します。 AccessFlag.STATICフラグは、ビルダーの作成後に変更できません。
      パラメータ:
      flags - ビット・マスクとしてのアクセス・フラグ
      戻り値:
      このビルダー
      スロー:
      IllegalArgumentException - ACC_STATICフラグが変更された場合
      関連項目:
    • withCode

      MethodBuilder withCode(Consumer<? super CodeBuilder> code)
      このメソッドのメソッド本文を作成します。
      パラメータ:
      code - CodeBuilderを受信するハンドラ
      戻り値:
      このビルダー
      関連項目:
    • transformCode

      MethodBuilder transformCode(CodeModel code, CodeTransform transform)
      別のメソッドの本文を変換して、このメソッドのメソッド本文を構築します。

      このメソッドは次のように動作します:

      withCode(cob -> cob.transform(code, transform));
      

      パラメータ:
      code - 変換するメソッド本文
      transform - メソッド本文に適用する変換
      戻り値:
      このビルダー
      関連項目: