モジュール java.base
パッケージ java.lang.constant

インタフェースMethodHandleDesc

すべてのスーパー・インタフェース:
ConstantDesc
既知のすべてのサブインタフェース:
DirectMethodHandleDesc

public sealed interface MethodHandleDesc extends ConstantDesc permits DirectMethodHandleDesc (not exhaustive)
導入されたバージョン:
12
  • メソッドの詳細

    • of

      static DirectMethodHandleDesc of(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor)
      宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。

      ルックアップ記述子文字列の形式は、CONSTANT_MethodHandle_infoの様々なバリアントと、MethodHandles.Lookupのルックアップ・メソッドの形式と同じです。 メソッドまたはコンストラクタのコールの場合、メソッド・タイプ記述子として解釈されます。フィールド・アクセスの場合は、フィールド記述子として解釈されます。 kindCONSTRUCTORの場合、nameパラメータは無視され、ルックアップ記述子の戻り型はvoidである必要があります。 kindが仮想メソッド呼出しに対応している場合、ルックアップ・タイプにはメソッド・パラメータが含まれますがレシーバ・タイプは含まれません。

      パラメータ:
      kind - 記述するメソッド・ハンドルの種類
      owner - メソッド、コンストラクタまたはフィールドを含むクラスを記述するClassDesc
      name - メソッドまたはフィールドの非修飾名(kindCONSTRUCTORの場合、無視)
      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のルックアップ・メソッドの場合と同じです。 kindCONSTRUCTORの場合、名前は無視され、ルックアップ・タイプの戻りタイプはvoidである必要があります。 kindが仮想メソッド呼出しに対応している場合、ルックアップ・タイプにはメソッド・パラメータが含まれますがレシーバ・タイプは含まれません。

      パラメータ:
      kind - 記述するメソッド・ハンドルの種類。SPECIAL, VIRTUAL, STATIC, INTERFACE_SPECIAL, INTERFACE_VIRTUAL, INTERFACE_STATIC, CONSTRUCTORのいずれかである必要があります。
      owner - メソッドまたはコンストラクタを含むクラスを記述するClassDesc
      name - メソッド(kindCONSTRUCTORの場合、無視)の未修飾名
      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 - 記述するメソッド・ハンドルの種類。GETTERSETTERSTATIC_GETTERSTATIC_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でもある場合に限り、どちらもメソッド・ハンドルの同じ名目説明をエンコードします。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      o - 他のオブジェクト
      戻り値:
      この記述子が他のオブジェクトと等しいかどうか
      関連項目: