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

クラスDynamicConstantDesc<T>

    • コンストラクタの詳細

      • DynamicConstantDesc

        protected DynamicConstantDesc​(DirectMethodHandleDesc bootstrapMethod,
                                      String constantName,
                                      ClassDesc constantType,
                                      ConstantDesc... bootstrapArgs)
        動的定数の名目記述子を作成します。
        パラメータ:
        bootstrapMethod - 定数のブートストラップ・メソッドを記述するDirectMethodHandleDesc
        constantName - この定数に対してLDCNameAndTypeオペランドに表示される非修飾名
        constantType - この定数についてLDCNameAndTypeオペランドに表示される型を示す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 - この定数に対してLDCNameAndTypeオペランドに表示される非修飾名
        constantType - この定数についてLDCNameAndTypeオペランドに表示される型を示す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 - この定数に対してLDCNameAndTypeオペランドに表示される非修飾名
        constantType - この定数についてLDCNameAndTypeオペランドに表示される型を示す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()
        この定数に対してLDCNameAndTypeオペランドに出現する名前を戻します。
        戻り値:
        定数名
      • constantType

        public ClassDesc constantType()
        この定数に対してLDCNameAndTypeオペランドに表示される型を示す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
      • toString

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