java.lang.Object
java.lang.constant.DynamicCallSiteDesc
public class DynamicCallSiteDesc extends Object
invokedynamic呼び出しサイトの「名目記述子」。
DynamicCallSiteDescの具象サブタイプは不変である必要があり、その動作はオブジェクト・アイデンティティに依存しません。
- 導入されたバージョン:
- 12
-
メソッドのサマリー
修飾子と型メソッド説明invokedynamicのブートストラップ引数を記述するConstantDescsを返します。invokedynamicのブートストラップ・メソッドを記述するMethodHandleDescを返します。final boolean等価性のために、指定されたオブジェクトをこの記述子と比較します。final inthashCode()このオブジェクトに対するハッシュ・コード値を返します。invokedynamicのNameAndTypeオペランドに表示される呼び出し名を返します。invokedynamicのNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDescを返します。static DynamicCallSiteDescof(DirectMethodHandleDesc bootstrapMethod, MethodTypeDesc invocationType) ブートストラップ・メソッドに静的引数がなく、nameパラメータがConstantDescs.DEFAULT_NAMEのinvokedynamicコール・サイトに名目記述子を作成します。static DynamicCallSiteDescof(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType) ブートストラップ・メソッドに静的な引数がないinvokedynamicコール・サイトの名目記述子を作成します。static DynamicCallSiteDescof(DirectMethodHandleDesc bootstrapMethod, String invocationName, MethodTypeDesc invocationType, ConstantDesc... bootstrapArgs) invokedynamiccallサイトの名目記述子を作成します。指定された引数を使用してブートストラップ・メソッドを最終的に起動し、結果の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) invokedynamiccallサイトの名目記述子を作成します。- パラメータ:
bootstrapMethod-invokedynamicのブートストラップ・メソッドを記述するDirectMethodHandleDescinvocationName-invokedynamicのNameAndTypeオペランドに表示される非修飾名invocationType-invokedynamicのNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDescbootstrapArgs-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のブートストラップ・メソッドを記述するDirectMethodHandleDescinvocationType-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
-
invocationType
public MethodTypeDesc invocationType()invokedynamicのNameAndTypeオペランドに表示される呼び出しタイプを示すMethodTypeDescを返します。- 戻り値:
- 起動タイプ
-
bootstrapMethod
public MethodHandleDesc bootstrapMethod()invokedynamicのブートストラップ・メソッドを記述するMethodHandleDescを返します。- 戻り値:
invokedynamicのブートストラップ・メソッド
-
bootstrapArgs
public ConstantDesc[] bootstrapArgs()invokedynamicのブートストラップ引数を記述するConstantDescsを返します。 返された配列は常に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
-