java.lang.Object
java.lang.constant.DynamicCallSiteDesc
public class DynamicCallSiteDesc extends Object
invokedynamic
呼び出しサイトの場合「名目記述子」。
DynamicCallSiteDescの具象サブタイプは不変である必要があり、その動作はオブジェクト・アイデンティティに依存しません。
- 導入されたバージョン:
- 12
-
メソッドのサマリー
修飾子と型メソッド説明invokedynamic
のブートストラップ引数を記述するConstantDesc
sを返します。invokedynamic
のブートストラップ・メソッドを記述するMethodHandleDesc
を返します。final boolean
等価性のために、指定されたオブジェクトをこの記述子と比較します。final int
hashCode()
オブジェクトのハッシュ・コード値を返します。invokedynamic
のNameAndType
オペランドに表示される呼び出し名を返します。invokedynamic
のNameAndType
オペランドに表示される呼び出しタイプを示すMethodTypeDesc
を返します。static DynamicCallSiteDesc
of
(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType) ブートストラップ・メソッドに静的引数がなく、nameパラメータがConstantDescs.DEFAULT_NAME
のinvokedynamic
コール・サイトに名目記述子を作成します。static DynamicCallSiteDesc
of
(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType) ブートストラップ・メソッドに静的な引数がないinvokedynamic
コール・サイトの名目記述子を作成します。static DynamicCallSiteDesc
of
(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs) invokedynamic
callサイトの名目記述子を作成します。指定された引数を使用してブートストラップ・メソッドを最終的に起動し、結果のCallSite
を返します。toString()
ブートストラップ・メソッド、呼出し名と型、静的ブートストラップ引数など、この呼出しサイト記述のコンパクトなテキスト形式の説明を返します。withArgs
(ConstantDesc... bootstrapArgs) ブートストラップ・メソッド、名前および呼出しタイプがこれと同じで、指定されたブートストラップ引数を持つinvokedynamic
コール・サイトの名目記述子を返します。withNameAndType
(String invocationName, MethodTypeDesc invocationType) ブートストラップおよびブートストラップ引数がこれと同じですが、指定されたinvocationNameと呼出しinvocationTypeを使用して、invokedynamic
コール・サイトの名目記述子を返します
-
メソッドの詳細
-
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs) invokedynamic
callサイトの名目記述子を作成します。- パラメータ:
bootstrapMethod
-invokedynamic
のブートストラップ・メソッドを記述するDirectMethodHandleDesc
invocationName
-invokedynamic
のNameAndType
オペランドに表示される非修飾名invocationType
-invokedynamic
のNameAndType
オペランドに表示される呼び出しタイプを示す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
-invokedynamic
のNameAndType
オペランドに表示されるinvocationNameinvocationType
-invokedynamic
のNameAndType
オペランドに表示される呼び出しinvocationType- 戻り値:
- 名目記述子
- 例外:
NullPointerException
- パラメータがnullの場合IllegalArgumentException
- 起動名の書式が正しくありません
-
of
public static DynamicCallSiteDesc of(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType) ブートストラップ・メソッドに静的引数がなく、nameパラメータがConstantDescs.DEFAULT_NAME
のinvokedynamic
コール・サイトに名目記述子を作成します。- パラメータ:
bootstrapMethod
-invokedynamic
のブートストラップ・メソッドを記述するDirectMethodHandleDesc
invocationType
-invokedynamic
のNameAndType
オペランドに表示される呼び出しタイプを示す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
-invokedynamic
のNameAndType
オペランドに表示される非修飾名invocationType
-invokedynamic
のNameAndType
オペランドに表示される呼び出しタイプを示すMethodTypeDesc
- 戻り値:
- 名目記述子
- 例外:
NullPointerException
- パラメータがnullの場合IllegalArgumentException
- 起動名の書式が正しくありません- Java Virtual Machine仕様を参照してください:
-
4.2.2 未修飾名
-
invocationName
public String invocationName()invokedynamic
のNameAndType
オペランドに表示される呼び出し名を返します。- 戻り値:
- 呼出し名
-
invocationType
public MethodTypeDesc invocationType()invokedynamic
のNameAndType
オペランドに表示される呼び出しタイプを示す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でもある場合、および両方の記述子に=ブートストラップ・メソッド、ブートストラップ引数リスト、呼出し名および呼出しタイプが等しい場合に限ります。 -
hashCode
public final int hashCode()次のクラスからコピーされた説明:Object
オブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMap
によって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。hashCode
の一般的な規則は次のとおりです。- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。 - 2つのオブジェクトが
equals
メソッドに従って等しい場合、2つのオブジェクトのそれぞれでhashCode
メソッドを呼び出すと、同じ整数結果が生成される必要があります。 - 2つのオブジェクトが
equals
メソッドに従って等しくない場合、2つのオブジェクトのそれぞれでhashCode
メソッドを呼び出すと、個別の整数結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。
- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
-
toString
public String toString()ブートストラップ・メソッド、呼出し名と型、静的ブートストラップ引数など、この呼出しサイト記述のコンパクトなテキスト形式の説明を返します。
-