- java.lang.Object
-
- java.lang.constant.DynamicConstantDesc<T>
-
- 型パラメータ:
T
- 動的定数の型
- すべての実装されたインタフェース:
ConstantDesc
- 直系の既知のサブクラス:
Enum.EnumDesc
,VarHandle.VarHandleDesc
public abstract class DynamicConstantDesc<T> extends Object implements ConstantDesc
動的定数の場合は「名目記述子」 (Constant_Dynamic_info
で固定プールに記述されているもの。)DynamicConstantDescの具象サブタイプは、value-basedである必要があります。
- 導入されたバージョン:
- 12
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
DynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)
動的定数の名目記述子を作成します。
-
メソッドのサマリー
修飾子と型 メソッド 説明 ConstantDesc[]
bootstrapArgs()
この定数のブートストラップ引数を返します。List<ConstantDesc>
bootstrapArgsList()
不変List
として、この定数のブートストラップ引数を返します。DirectMethodHandleDesc
bootstrapMethod()
この定数のブートストラップ・メソッドを記述するMethodHandleDesc
を返します。String
constantName()
この定数に対してLDC
のNameAndType
オペランドに出現する名前を戻します。ClassDesc
constantType()
この定数に対してLDC
のNameAndType
オペランドに表示される型を示すClassDesc
を返します。boolean
equals(Object o)
等価性のために、指定されたオブジェクトをこの記述子と比較します。static <T> DynamicConstantDesc<T>
of(DirectMethodHandleDesc bootstrapMethod)
ブートストラップが静的引数を持たない動的定数の名目記述子を返します。この値は、nameパラメータがConstantDescs.DEFAULT_NAME
で、typeパラメータは常にブートストラップ・メソッドの戻り型と同じです。static <T> DynamicConstantDesc<T>
of(DirectMethodHandleDesc bootstrapMethod, ConstantDesc... bootstrapArgs)
名前パラメータがConstantDescs.DEFAULT_NAME
で、typeパラメータが常にブートストラップ・メソッドの戻り型と同じである動的定数の名目記述子を返します。static <T> ConstantDesc
ofCanonical(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs)
定数ブートストラップが既知の単一記述子で、より具体的な記述子タイプ(例: ClassDesc)が使用可能な場合は、動的定数の名目記述子を返し、より具体的な型に変換します。static <T> DynamicConstantDesc<T>
ofNamed(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)
動的定数の名目記述子を返します。String
toString()
ブートストラップ・メソッド、定数名と型、静的ブートストラップ引数など、この定数説明のコンパクトなテキスト型の説明を返します。-
クラス java.lang.Objectで宣言されたメソッド
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
インタフェースjava.lang.constant.ConstantDescで宣言されたメソッド
resolveConstantDesc
-
-
-
-
コンストラクタの詳細
-
DynamicConstantDesc
protected DynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)
動的定数の名目記述子を作成します。- パラメータ:
bootstrapMethod
- 定数のブートストラップ・メソッドを記述するDirectMethodHandleDesc
constantName
- この定数に対してLDC
のNameAndType
オペランドに表示される非修飾名constantType
- この定数についてLDC
のNameAndType
オペランドに表示される型を示すClassDesc
bootstrapArgs
-ConstantDesc
は、BootstrapMethods
属性に出現するブートストラップに対する静的引数を記述- 例外:
NullPointerException
- いずれかの引数がnullの場合IllegalArgumentException
-name
の形式が正しくない場合- Java™仮想マシン仕様:
- 4.2.2未修飾名
-
-
メソッドの詳細
-
ofCanonical
public static <T> ConstantDesc ofCanonical(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs)
定数ブートストラップが既知の単一記述子で、より具体的な記述子タイプ(例: ClassDesc)が使用可能な場合は、動的定数の名目記述子を返し、より具体的な型に変換します。Class
(プリミティブ・タイプを記述するインスタンス)、Enum
およびVarHandle
を含む既知のブートストラップを使用して、Constable.describeConstable()
メソッドがDynamicConstantDescを生成するクラス。定数プールを処理し、その呼び出し元に
ConstantDesc
としてエントリを公開するバイトコード・コードのAPIは、一般に、このメソッドをofNamed(DirectMethodHandleDesc, String, ClassDesc, ConstantDesc...)
に優先順位付けする必要があります。これは、呼び出し元に提供できる特定のタイプである可能性があるためです。- 型パラメータ:
T
- 動的定数の型- パラメータ:
bootstrapMethod
- 定数のブートストラップ・メソッドを記述するDirectMethodHandleDesc
constantName
- この定数に対してLDC
のNameAndType
オペランドに表示される非修飾名constantType
- この定数についてLDC
のNameAndType
オペランドに表示される型を示すClassDesc
bootstrapArgs
-ConstantDesc
は、BootstrapMethods
属性に出現するブートストラップに対する静的引数を記述- 戻り値:
- 名目記述子
- 例外:
NullPointerException
- いずれかの引数がnullの場合IllegalArgumentException
-name
の形式が正しくない場合- Java™仮想マシン仕様:
- 4.2.2未修飾名
-
ofNamed
public static <T> DynamicConstantDesc<T> ofNamed(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)
動的定数の名目記述子を返します。- 型パラメータ:
T
- 動的定数の型- パラメータ:
bootstrapMethod
- 定数のブートストラップ・メソッドを記述するDirectMethodHandleDesc
constantName
- この定数に対してLDC
のNameAndType
オペランドに表示される非修飾名constantType
- この定数についてLDC
のNameAndType
オペランドに表示される型を示すClassDesc
bootstrapArgs
-ConstantDesc
は、BootstrapMethods
属性に出現するブートストラップに対する静的引数を記述- 戻り値:
- 名目記述子
- 例外:
NullPointerException
- いずれかの引数がnullの場合IllegalArgumentException
-name
の形式が正しくない場合- Java™仮想マシン仕様:
- 4.2.2未修飾名
-
of
public static <T> DynamicConstantDesc<T> of(DirectMethodHandleDesc bootstrapMethod, ConstantDesc... bootstrapArgs)
名前パラメータがConstantDescs.DEFAULT_NAME
で、typeパラメータが常にブートストラップ・メソッドの戻り型と同じである動的定数の名目記述子を返します。- 型パラメータ:
T
- 動的定数の型- パラメータ:
bootstrapMethod
- 定数のブートストラップ・メソッドを記述するDirectMethodHandleDesc
bootstrapArgs
-ConstantDesc
は、BootstrapMethods
属性に出現するブートストラップに対する静的引数を記述- 戻り値:
- 名目記述子
- 例外:
NullPointerException
- いずれかの引数がnullの場合- Java™仮想マシン仕様:
- 4.2.2未修飾名
-
of
public static <T> DynamicConstantDesc<T> of(DirectMethodHandleDesc bootstrapMethod)
ブートストラップが静的引数を持たない動的定数の名目記述子を返します。この値は、nameパラメータがConstantDescs.DEFAULT_NAME
で、typeパラメータは常にブートストラップ・メソッドの戻り型と同じです。- 型パラメータ:
T
- 動的定数の型- パラメータ:
bootstrapMethod
- 定数のブートストラップ・メソッドを記述するDirectMethodHandleDesc
- 戻り値:
- 名目記述子
- 例外:
NullPointerException
- いずれかの引数がnullの場合
-
constantName
public String constantName()
この定数に対してLDC
のNameAndType
オペランドに出現する名前を戻します。- 戻り値:
- 定数名
-
constantType
public ClassDesc constantType()
この定数に対してLDC
のNameAndType
オペランドに表示される型を示すClassDesc
を返します。- 戻り値:
- 定数型
-
bootstrapMethod
public DirectMethodHandleDesc bootstrapMethod()
この定数のブートストラップ・メソッドを記述するMethodHandleDesc
を返します。- 戻り値:
- ブートストラップ・メソッド
-
bootstrapArgs
public ConstantDesc[] bootstrapArgs()
この定数のブートストラップ引数を返します。- 戻り値:
- ブートストラップ引数
-
bootstrapArgsList
public List<ConstantDesc> bootstrapArgsList()
不変List
として、この定数のブートストラップ引数を返します。- 戻り値:
- ブートストラップ引数の
List
-
equals
public final boolean equals(Object o)
等価性のために、指定されたオブジェクトをこの記述子と比較します。true
を返します(指定したオブジェクトがDynamicConstantDescでもある場合のみ、また、両方の記述子に=ブートストラップ・メソッド、ブートストラップ引数リスト、定数名および定数タイプが存在する場合のみ)。- オーバーライド:
equals
、クラス:Object
- パラメータ:
o
- このDynamicConstantDesc
と比較するDynamicConstantDesc
- 戻り値:
true
指定されたDynamicConstantDesc
がこのDynamicConstantDesc
と等しい場合。- 関連項目:
Object.hashCode()
、HashMap
-
-