インタフェースFunctionDescriptor


public sealed interface FunctionDescriptor
関数記述子は、外部関数のシグネチャをモデル化します。 関数記述子は、0個以上の引数レイアウトと、0個または1個の戻りレイアウトで構成されます。 ファンクション記述子を使用して、downcall method handlesRESTRICTEDおよびupcall stubsRESTRICTEDを作成します。
実装要件:
クラスの実装は、不変、スレッド・セーフおよびvalue-basedです。
導入されたバージョン:
22
関連項目:
  • メソッドの詳細

    • returnLayout

      Optional<MemoryLayout> returnLayout()
      この関数記述子の戻りレイアウト(もしあれば)を返します。
      戻り値:
      この関数記述子の戻りレイアウト(もしあれば)
    • argumentLayouts

      List<MemoryLayout> argumentLayouts()
      この関数記述子(変更不可能なリストとして)の引数レイアウトを返します。
      戻り値:
      この関数記述子の引数レイアウト (変更不可能なリストとして)
    • appendArgumentLayouts

      FunctionDescriptor appendArgumentLayouts(MemoryLayout... addedLayouts)
      この関数記述子の引数レイアウトに、指定された引数レイアウトが追加された関数記述子を返します。
      パラメータ:
      addedLayouts - 追加する引数レイアウト
      戻り値:
      指定された追加の引数レイアウトを持つ新しい関数記述子
      例外:
      IllegalArgumentException - addedLayoutsのいずれかのレイアウトがパディング・レイアウトである場合
    • insertArgumentLayouts

      FunctionDescriptor insertArgumentLayouts(int index, MemoryLayout... addedLayouts)
      指定された索引に挿入された引数レイアウトを持つ関数記述子を、この関数記述子の引数レイアウト配列に戻します。
      パラメータ:
      index - 引数を挿入する索引
      addedLayouts - 指定されたインデックスに挿入する引数のレイアウト
      戻り値:
      指定された追加の引数レイアウトを持つ新しい関数記述子
      例外:
      IllegalArgumentException - addedLayoutsのいずれかのレイアウトがパディング・レイアウトである場合
      IllegalArgumentException - index < 0 || index > argumentLayouts().size()の場合
    • changeReturnLayout

      FunctionDescriptor changeReturnLayout(MemoryLayout newReturn)
      指定された戻りレイアウトで関数記述子を返します。
      パラメータ:
      newReturn - 新しいリターン・レイアウト
      戻り値:
      指定された戻り配列を持つ新しい関数記述子
      例外:
      IllegalArgumentException - newReturnがパディング・レイアウトの場合
    • dropReturnLayout

      FunctionDescriptor dropReturnLayout()
      戻りレイアウトのない新しい関数記述子を返します。
      戻り値:
      戻りレイアウトのない新しい関数記述子
    • toMethodType

      MethodType toMethodType()
      この関数記述子のレイアウトのキャリア・タイプで構成されるメソッド・タイプを返します。

      レイアウトLのキャリア・タイプは、次のように決定されます:

      APIのノート:
      関数記述子にパディング・レイアウトを含めることはできません。 そのため、パディング・レイアウトを運送業者タイプにマップする方法を指定する必要はありません。
      戻り値:
      この関数記述子のレイアウトのキャリア・タイプで構成されるメソッド・タイプ
    • of

      static FunctionDescriptor of(MemoryLayout resLayout, MemoryLayout... argLayouts)
      指定された戻りおよび引数のレイアウトを使用して関数記述子を作成します。
      パラメータ:
      resLayout - 戻しレイアウト
      argLayouts - 引数のレイアウト
      戻り値:
      指定された戻りおよび引数のレイアウトを持つ新しい関数記述子
      例外:
      IllegalArgumentException - resLayoutがパディング・レイアウトの場合
      IllegalArgumentException - argLayoutsのいずれかのレイアウトがパディング・レイアウトである場合
    • ofVoid

      static FunctionDescriptor ofVoid(MemoryLayout... argLayouts)
      指定された引数レイアウトを持つ関数記述子を作成し、戻りレイアウトは作成しません。 これは、値を返さない関数をモデル化する場合に便利です。
      パラメータ:
      argLayouts - 引数のレイアウト
      戻り値:
      指定された引数レイアウトを持つ新しい関数記述子
      例外:
      IllegalArgumentException - argLayoutsのいずれかのレイアウトがパディング・レイアウトである場合