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

クラスDynamicCallSiteDesc

java.lang.Object
java.lang.constant.DynamicCallSiteDesc

public class DynamicCallSiteDesc extends Object
invokedynamic呼び出しサイトの場合「名目記述子」

DynamicCallSiteDescの具象サブタイプは不変である必要があり、その動作はオブジェクト・アイデンティティに依存しません。

導入されたバージョン:
12
  • メソッドの詳細

    • of

      public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs)
      invokedynamic callサイトの名目記述子を作成します。
      パラメータ:
      bootstrapMethod - invokedynamicのブートストラップ・メソッドを記述するDirectMethodHandleDesc
      invocationName - invokedynamicNameAndTypeオペランドに表示される非修飾名
      invocationType - invokedynamicNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDesc
      bootstrapArgs - ConstantDescは、BootstrapMethods属性に出現するブートストラップに対する静的引数を記述
      戻り値:
      名目記述子
      例外:
      NullPointerException - パラメータまたはその内容がnullの場合
      IllegalArgumentException - 起動名の書式が正しくありません
      Java Virtual Machine仕様を参照してください:
      4.2.2 未修飾名
    • of

      public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType)
      ブートストラップ・メソッドに静的な引数がないinvokedynamicコール・サイトの名目記述子を作成します。
      パラメータ:
      bootstrapMethod - invokedynamicのブートストラップ・メソッド
      invocationName - invokedynamicNameAndTypeオペランドに表示されるinvocationName
      invocationType - invokedynamicNameAndTypeオペランドに表示される呼び出しinvocationType
      戻り値:
      名目記述子
      例外:
      NullPointerException - パラメータがnullの場合
      IllegalArgumentException - 起動名の書式が正しくありません
    • of

      public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType)
      ブートストラップ・メソッドに静的引数がなく、nameパラメータがConstantDescs.DEFAULT_NAMEinvokedynamicコール・サイトに名目記述子を作成します。
      パラメータ:
      bootstrapMethod - invokedynamicのブートストラップ・メソッドを記述するDirectMethodHandleDesc
      invocationType - invokedynamicNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDesc
      戻り値:
      名目記述子
      例外:
      NullPointerException - パラメータがnullの場合
    • withArgs

      public DynamicCallSiteDesc withArgs(ConstantDesc... bootstrapArgs)
      ブートストラップ・メソッド、名前および呼出しタイプがこれと同じで、指定されたブートストラップ引数を持つinvokedynamicコール・サイトの名目記述子を返します。
      パラメータ:
      bootstrapArgs - ConstantDescは、BootstrapMethods属性に出現するブートストラップに対する静的引数を記述
      戻り値:
      名目記述子
      例外:
      NullPointerException - 引数またはその内容がnullの場合
    • withNameAndType

      public DynamicCallSiteDesc withNameAndType(String invocationName, MethodTypeDesc invocationType)
      ブートストラップおよびブートストラップ引数がこれと同じですが、指定されたinvocationNameと呼出しinvocationTypeを使用して、invokedynamicコール・サイトの名目記述子を返します
      パラメータ:
      invocationName - invokedynamicNameAndTypeオペランドに表示される非修飾名
      invocationType - invokedynamicNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDesc
      戻り値:
      名目記述子
      例外:
      NullPointerException - パラメータがnullの場合
      IllegalArgumentException - 起動名の書式が正しくありません
      Java Virtual Machine仕様を参照してください:
      4.2.2 未修飾名
    • invocationName

      public String invocationName()
      invokedynamicNameAndTypeオペランドに表示される呼び出し名を返します。
      戻り値:
      呼出し名
    • invocationType

      public MethodTypeDesc invocationType()
      invokedynamicNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDescを返します。
      戻り値:
      起動タイプ
    • bootstrapMethod

      public MethodHandleDesc bootstrapMethod()
      invokedynamicのブートストラップ・メソッドを記述するMethodHandleDescを返します。
      戻り値:
      invokedynamicのブートストラップ・メソッド
    • bootstrapArgs

      public ConstantDesc[] bootstrapArgs()
      invokedynamicのブートストラップ引数を記述するConstantDesc sを返します。 返された配列は常にnull以外です。 このDynamicCallSiteDescにブートストラップ引数がない場合、長さ0の配列が返されます。
      戻り値:
      invokedynamicのブートストラップ引数
    • resolveCallSiteDesc

      public CallSite resolveCallSiteDesc(MethodHandles.Lookup lookup) throws Throwable
      指定された引数を使用してブートストラップ・メソッドを最終的に起動し、結果のCallSiteを返します。
      パラメータ:
      lookup - クラス名を解決するために使用されるMethodHandles.Lookup
      戻り値:
      CallSite
      例外:
      Throwable - ブートストラップ・メソッドによって例外がスローされる場合
    • equals

      public final boolean equals(Object o)
      等価性のために、指定されたオブジェクトをこの記述子と比較します。 trueを返しますが、指定したオブジェクトがDynamicCallSiteDescでもある場合、および両方の記述子に=ブートストラップ・メソッド、ブートストラップ引数リスト、呼出し名および呼出しタイプが等しい場合に限ります。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      o - このDynamicCallSiteDescと比較するDynamicCallSiteDesc
      戻り値:
      指定されたDynamicCallSiteDescがこのDynamicCallSiteDescと等しい場合はtrue
      関連項目:
    • hashCode

      public final int hashCode()
      次のクラスからコピーされた説明: Object
      オブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。

      hashCodeの一般的な規則は次のとおりです。

      • Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対するequalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
      • 2つのオブジェクトがequalsメソッドに従って等しい場合、2つのオブジェクトのそれぞれで hashCodeメソッドを呼び出すと、同じ整数結果が生成される必要があります。
      • 2つのオブジェクトがequalsメソッドに従って等しくない場合、2つのオブジェクトのそれぞれでhashCodeメソッドを呼び出すと、個別の整数結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。

      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • toString

      public String toString()
      ブートストラップ・メソッド、呼出し名と型、静的ブートストラップ引数など、この呼出しサイト記述のコンパクトなテキスト形式の説明を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      この呼出しサイト記述子のコンパクトな説明