public sealed interface FunctionDescriptor
FunctionDescriptor
は、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
関数記述子は、外部関数のシグネチャをモデル化します。 関数記述子は、ゼロ個以上の引数レイアウトとゼロ個以上の戻りレイアウトで構成されます。 関数記述子は、通常、「downcallメソッド・ハンドル」PREVIEWまたは「アップ・コール・スタブ」PREVIEWを作成するときに使用されます。
- 実装要件:
- クラスの実装は、不変、スレッド・セーフおよびvalue-basedです。
- 導入されたバージョン:
- 19
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明appendArgumentLayouts
(MemoryLayoutPREVIEW... addedLayouts) 指定された引数レイアウトがこの関数記述子の引数レイアウト配列に付加された関数記述子を返します。この関数記述子(不変のリストとして)に関連付けられた引数レイアウトを返します。changeReturnLayout
(MemoryLayoutPREVIEW newReturn) 指定されたメモリー・レイアウトを新しい戻りレイアウトとして関数記述子を返します。戻りレイアウトが削除された関数記述子を返します。insertArgumentLayouts
(int index, MemoryLayoutPREVIEW... addedLayouts) 指定された索引に挿入された引数レイアウトを持つ関数記述子を、この関数記述子の引数レイアウト配列に戻します。static FunctionDescriptorPREVIEW
of
(MemoryLayoutPREVIEW resLayout, MemoryLayoutPREVIEW... argLayouts) 指定された戻りおよび引数のレイアウトを使用して関数記述子を作成します。static FunctionDescriptorPREVIEW
ofVoid
(MemoryLayoutPREVIEW... argLayouts) 指定された引数レイアウトを持つ関数記述子を作成し、戻りレイアウトは作成しません。この関数記述子に関連付けられた戻りレイアウト(もしあれば)を返します。この関数記述子のレイアウトのキャリア・タイプで構成されるメソッド・タイプを返します。
-
メソッドの詳細
-
returnLayout
Optional<MemoryLayoutPREVIEW> returnLayout()この関数記述子に関連付けられた戻りレイアウト(もしあれば)を返します。- 戻り値:
- この関数記述子に関連付けられた戻りレイアウト(もしあれば)
-
argumentLayouts
List<MemoryLayoutPREVIEW> argumentLayouts()この関数記述子(不変のリストとして)に関連付けられている引数レイアウトを返します。- 戻り値:
- この関数記述子(不変のリストとして)に関連付けられている引数レイアウト
-
appendArgumentLayouts
FunctionDescriptorPREVIEW appendArgumentLayouts(MemoryLayoutPREVIEW... addedLayouts) 指定された引数レイアウトがこの関数記述子の引数レイアウト配列に付加された関数記述子を返します。- パラメータ:
addedLayouts
- 追加する引数のレイアウト。- 戻り値:
- 新しい関数記述子。
-
insertArgumentLayouts
FunctionDescriptorPREVIEW insertArgumentLayouts(int index, MemoryLayoutPREVIEW... addedLayouts) 指定された索引に挿入された引数レイアウトを持つ関数記述子を、この関数記述子の引数レイアウト配列に戻します。- パラメータ:
index
- 引数を挿入する索引addedLayouts
- 指定された索引に挿入する引数レイアウト。- 戻り値:
- 新しい関数記述子。
- 例外:
IllegalArgumentException
-index < 0 || index > argumentLayouts().size()
の場合。
-
changeReturnLayout
FunctionDescriptorPREVIEW changeReturnLayout(MemoryLayoutPREVIEW newReturn) 指定されたメモリー・レイアウトを新しい戻りレイアウトとして関数記述子を返します。- パラメータ:
newReturn
- 新しい戻りレイアウト。- 戻り値:
- 新しい関数記述子。
-
dropReturnLayout
FunctionDescriptorPREVIEW dropReturnLayout()戻りレイアウトが削除された関数記述子を返します。 これは、値を返さない関数をモデル化する場合に便利です。- 戻り値:
- 新しい関数記述子。
-
toMethodType
MethodType toMethodType()この関数記述子のレイアウトのキャリア・タイプで構成されるメソッド・タイプを返します。レイアウトの運送業者タイプは、次のように決定されます:
- レイアウトが
ValueLayout
PREVIEWの場合、キャリア・タイプはValueLayout.carrier()
PREVIEWによって決定されます。 - レイアウトが
GroupLayout
PREVIEWの場合、キャリア・タイプはMemorySegment
PREVIEWです。 - レイアウトが
PaddingLayout
PREVIEWまたはSequenceLayout
PREVIEWの場合、IllegalArgumentException
がスローされます。
- 戻り値:
- この関数記述子のレイアウトのキャリア・タイプで構成されるメソッド・タイプ
- 例外:
IllegalArgumentException
- 関数記述子の1つ以上のレイアウトをキャリア・タイプ(例:シーケンス・レイアウトまたはパディング・レイアウトの場合)にマップできない場合。
- レイアウトが
-
of
static FunctionDescriptorPREVIEW of(MemoryLayoutPREVIEW resLayout, MemoryLayoutPREVIEW... argLayouts) 指定された戻りおよび引数のレイアウトを使用して関数記述子を作成します。- パラメータ:
resLayout
- 戻りレイアウト。argLayouts
- 引数のレイアウト。- 戻り値:
- 新しい関数記述子。
-
ofVoid
static FunctionDescriptorPREVIEW ofVoid(MemoryLayoutPREVIEW... argLayouts) 指定された引数レイアウトを持つ関数記述子を作成し、戻りレイアウトは作成しません。- パラメータ:
argLayouts
- 引数のレイアウト。- 戻り値:
- 新しい関数記述子。
-
FunctionDescriptor
を使用できます。