- すべてのスーパー・インタフェース:
ConstantDesc
- 既知のすべてのサブインタフェース:
DirectMethodHandleDesc
public sealed interface MethodHandleDesc extends ConstantDesc permits DirectMethodHandleDesc (not exhaustive)
MethodHandle
定数の場合は「名目記述子」。- 導入されたバージョン:
- 12
-
メソッドのサマリー
修飾子と型メソッド説明default MethodHandleDesc
asType
(MethodTypeDesc type) MethodHandle.asType(MethodType)
が適応するこのメソッド・ハンドルを説明するMethodHandleDescを返します。boolean
等価性のために、指定されたオブジェクトをこの記述子と比較します。この名目記述子で記述されるメソッド・ハンドルの呼出しタイプを記述するMethodTypeDesc
を返します。static DirectMethodHandleDesc
of
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor) 宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。static DirectMethodHandleDesc
ofConstructor
(ClassDesc owner, ClassDesc... paramTypes) コンストラクタの呼出しに対応するMethodHandleDescを返しますstatic DirectMethodHandleDesc
ofField
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType) フィールドにアクセスするメソッド・ハンドルに対応するMethodHandleDescを作成します。static DirectMethodHandleDesc
ofMethod
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType) 宣言されたメソッドまたはコンストラクタの呼出しに対応するMethodHandleDescを作成します。インタフェースjava.lang.constant.ConstantDescで宣言されたメソッド
resolveConstantDesc
-
メソッドの詳細
-
of
static DirectMethodHandleDesc of(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor) 宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。ルックアップ記述子文字列の形式は、
CONSTANT_MethodHandle_info
の様々なバリアントと、MethodHandles.Lookup
のルックアップ・メソッドの形式と同じです。 メソッドまたはコンストラクタのコールの場合、メソッド・タイプ記述子として解釈されます。フィールド・アクセスの場合は、フィールド記述子として解釈されます。kind
がCONSTRUCTOR
の場合、name
パラメータは無視され、ルックアップ記述子の戻り型はvoid
である必要があります。kind
が仮想メソッド呼出しに対応している場合、ルックアップ・タイプにはメソッド・パラメータが含まれますがレシーバ・タイプは含まれません。- パラメータ:
kind
- 記述するメソッド・ハンドルの種類owner
- メソッド、コンストラクタまたはフィールドを含むクラスを記述するClassDesc
name
- メソッドまたはフィールドの非修飾名(kind
がCONSTRUCTOR
の場合、無視)lookupDescriptor
- メソッド記述子の文字列。リクエストがメソッド呼出し用の場合はルックアップ・タイプ、リクエストがフィールドまたはコンストラクタ用の場合は呼出しタイプを記述- 戻り値:
- MethodHandleDesc
- 例外:
NullPointerException
- 無視されない引数のいずれかがnullの場合IllegalArgumentException
- 記述子文字列が有効なメソッドまたはフィールド記述子でないかどうか- Java Virtual Machine仕様を参照してください:
-
4.4.8 CONSTANT_MethodHandle_info構造
4.2.2未修飾名
4.3.2フィールド記述子
4.3.3メソッド記述子
-
ofMethod
static DirectMethodHandleDesc ofMethod(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType) 宣言されたメソッドまたはコンストラクタの呼出しに対応するMethodHandleDescを作成します。ルックアップ記述子の文字列の形式は、
MethodHandles.Lookup
のルックアップ・メソッドの場合と同じです。kind
がCONSTRUCTOR
の場合、名前は無視され、ルックアップ・タイプの戻りタイプはvoid
である必要があります。kind
が仮想メソッド呼出しに対応している場合、ルックアップ・タイプにはメソッド・パラメータが含まれますがレシーバ・タイプは含まれません。- パラメータ:
kind
- 記述するメソッド・ハンドルの種類。SPECIAL, VIRTUAL, STATIC, INTERFACE_SPECIAL, INTERFACE_VIRTUAL, INTERFACE_STATIC, CONSTRUCTOR
のいずれかである必要があります。owner
- メソッドまたはコンストラクタを含むクラスを記述するClassDesc
name
- メソッド(kind
がCONSTRUCTOR
の場合、無視)の未修飾名lookupMethodType
- ルックアップ・タイプを説明するMethodTypeDesc
- 戻り値:
- MethodHandleDesc
- 例外:
NullPointerException
- 無視されない引数がある場合IllegalArgumentException
-name
の形式が正しくない場合、または種類が無効である場合- Java Virtual Machine仕様を参照してください:
-
4.2.2 未修飾名
-
ofField
static DirectMethodHandleDesc ofField(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType) フィールドにアクセスするメソッド・ハンドルに対応するMethodHandleDescを作成します。- パラメータ:
kind
- 記述するメソッド・ハンドルの種類。GETTER
、SETTER
、STATIC_GETTER
、STATIC_SETTER
のいずれかである必要があります。owner
- フィールドを含むクラスを記述するClassDesc
fieldName
- フィールドの未修飾名fieldType
- フィールドのタイプについて説明するClassDesc
- 戻り値:
- MethodHandleDesc
- 例外:
NullPointerException
- 引数が1つでもnullの場合IllegalArgumentException
-kind
が有効な値のいずれでもない場合、またはフィールド名が無効な場合- Java Virtual Machine仕様を参照してください:
-
4.2.2 未修飾名
-
ofConstructor
static DirectMethodHandleDesc ofConstructor(ClassDesc owner, ClassDesc... paramTypes) コンストラクタの呼出しに対応するMethodHandleDescを返します- パラメータ:
owner
- コンストラクタを含むクラスを記述するClassDesc
paramTypes
-ClassDesc
sコンストラクタのパラメータ型を記述しています- 戻り値:
- MethodHandleDesc
- 例外:
NullPointerException
- 引数またはその内容がnull
の場合
-
asType
default MethodHandleDesc asType(MethodTypeDesc type) MethodHandle.asType(MethodType)
が適応するこのメソッド・ハンドルを説明するMethodHandleDescを返します。- パラメータ:
type
- 新しいメソッド・タイプを記述するMethodHandleDesc
- 戻り値:
- 適合メソッド・ハンドル用のMethodHandleDesc
- 例外:
NullPointerException
- 引数がnull
の場合
-
invocationType
MethodTypeDesc invocationType()この名目記述子で記述されるメソッド・ハンドルの呼出しタイプを記述するMethodTypeDesc
を返します。 起動タイプは、起動された(レシーバを含む(存在する場合))によって消費されるスタック値の完全なセットを説明します。- 戻り値:
- メソッド・ハンドル・タイプを記述するMethodHandleDesc
-
equals
boolean equals(Object o) 等価性のために、指定されたオブジェクトをこの記述子と比較します。true
を返します。指定したオブジェクトがMethodHandleDescでもある場合に限り、どちらもメソッド・ハンドルの同じ名目説明をエンコードします。
-