インタフェースjava.lang.constant.ClassDescの
使用
ClassDescを使用するパッケージ
パッケージ
説明
Javaプログラミング言語の設計にあたり基本的なクラスを提供します。
クラスやメソッド・ハンドルなどのランタイム・エンティティ用に「名目記述子」を表すクラスおよびインタフェース、および定数プール・エントリや
invokedynamic
コール・サイトなどのクラス・ファイル・エンティティ用に「名目記述子」を表すクラスおよびインタフェース。java.lang.invoke
パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。-
java.langでのClassDescの使用
-
java.lang.constantでのClassDescの使用
ClassDescとして宣言されたjava.lang.constantのフィールド修飾子と型フィールド説明static final ClassDesc
ConstantDescs.CD_boolean
プリミティブ・タイプboolean
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Boolean
static final ClassDesc
ConstantDescs.CD_byte
プリミティブ・タイプbyte
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Byte
static final ClassDesc
ConstantDescs.CD_CallSite
static final ClassDesc
ConstantDescs.CD_char
プリミティブ・タイプchar
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Character
static final ClassDesc
ConstantDescs.CD_Class
static final ClassDesc
ConstantDescs.CD_ClassDesc
static final ClassDesc
ConstantDescs.CD_Collection
static final ClassDesc
ConstantDescs.CD_ConstantBootstraps
static final ClassDesc
ConstantDescs.CD_ConstantDesc
static final ClassDesc
ConstantDescs.CD_DirectMethodHandleDesc
static final ClassDesc
ConstantDescs.CD_double
プリミティブ・タイプdouble
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Double
static final ClassDesc
ConstantDescs.CD_DynamicCallSiteDesc
static final ClassDesc
ConstantDescs.CD_DynamicConstantDesc
static final ClassDesc
ConstantDescs.CD_Enum
static final ClassDesc
ConstantDescs.CD_EnumDesc
static final ClassDesc
ConstantDescs.CD_Exception
static final ClassDesc
ConstantDescs.CD_float
プリミティブ・タイプfloat
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Float
static final ClassDesc
ConstantDescs.CD_int
プリミティブ・タイプint
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Integer
static final ClassDesc
ConstantDescs.CD_List
static final ClassDesc
ConstantDescs.CD_long
プリミティブ・タイプlong
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Long
static final ClassDesc
ConstantDescs.CD_Map
static final ClassDesc
ConstantDescs.CD_MethodHandle
static final ClassDesc
ConstantDescs.CD_MethodHandleDesc
static final ClassDesc
ConstantDescs.CD_MethodHandleDesc_Kind
static final ClassDesc
ConstantDescs.CD_MethodHandles
static final ClassDesc
ConstantDescs.CD_MethodHandles_Lookup
static final ClassDesc
ConstantDescs.CD_MethodType
static final ClassDesc
ConstantDescs.CD_MethodTypeDesc
static final ClassDesc
ConstantDescs.CD_Number
static final ClassDesc
ConstantDescs.CD_Object
static final ClassDesc
ConstantDescs.CD_Set
static final ClassDesc
ConstantDescs.CD_short
プリミティブ・タイプshort
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Short
static final ClassDesc
ConstantDescs.CD_String
static final ClassDesc
ConstantDescs.CD_Throwable
static final ClassDesc
ConstantDescs.CD_VarHandle
static final ClassDesc
ConstantDescs.CD_VarHandleDesc
static final ClassDesc
ConstantDescs.CD_void
プリミティブ・タイプvoid
を表すClassDesc
static final ClassDesc
ConstantDescs.CD_Void
ClassDescを返すjava.lang.constantのメソッド修飾子と型メソッド説明default ClassDesc
ClassDesc.arrayType()
default ClassDesc
ClassDesc.arrayType
(int rank) default ClassDesc
ClassDesc.componentType()
配列型を説明する場合はこのClassDescのコンポーネント型を返し、そうでない場合はnull
を返します。DynamicConstantDesc.constantType()
この定数に対してLDC
のNameAndType
オペランドに表示される型を示すClassDesc
を返します。default ClassDesc
default ClassDesc
static ClassDesc
クラスまたはインタフェース型に対して、"java.lang.String"
などのクラスまたはインタフェースの名前を指定してClassDescを返します。static ClassDesc
クラスまたはインタフェース・タイプに対してClassDescを返します。クラスまたはインタフェースのパッケージ名および未修飾(simple)名が指定されます。static ClassDesc
ClassDesc.ofDescriptor
(String descriptor) クラス、インタフェース、配列またはプリミティブ・タイプの記述子文字列に対してClassDescを指定します。DirectMethodHandleDesc.owner()
この名目記述子で説明するメソッドまたはフィールドを宣言するClassDesc
を返します。MethodTypeDesc.parameterArray()
配列としてパラメータ型を返します。MethodTypeDesc.parameterType
(int index) このMethodTypeDescで説明するメソッド・タイプのindex
番目のパラメータのパラメータ・タイプを返します。MethodTypeDesc.returnType()
MethodTypeDescで記述されたメソッド・タイプの戻り型を取得します。型ClassDescの引数を持つ型を返すjava.lang.constantのメソッド型ClassDescのパラメータを持つjava.lang.constantのメソッド修飾子と型メソッド説明MethodTypeDesc.changeParameterType
(int index, ClassDesc paramType) このタイプと同一のMethodTypeDescを返します。ただし、指定されたタイプに変更されたパラメータ・タイプは1つのみです。MethodTypeDesc.changeReturnType
(ClassDesc returnType) 指定された戻り型を除き、これと同一のMethodTypeDescを返します。MethodTypeDesc.insertParameterTypes
(int pos, ClassDesc... paramTypes) このパラメータ・タイプが追加されたことを除き、同じMethodTypeDescを返します。static DirectMethodHandleDesc
MethodHandleDesc.of
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor) 宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。static MethodTypeDesc
戻り型およびパラメータ型が指定されたMethodTypeDescを返します。static DirectMethodHandleDesc
ConstantDescs.ofCallsiteBootstrap
(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) invokedynamic
呼出しサイトのブートストラップ・メソッドに対応するMethodHandleDesc
を返します。これは先頭のパラメータ・タイプがLookup
、String
、MethodType
である静的メソッドです。static <T> ConstantDesc
DynamicConstantDesc.ofCanonical
(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs) 定数ブートストラップが既知の単一記述子で、より具体的な記述子タイプ(例: ClassDesc)が使用可能な場合は、動的定数の名目記述子を返し、より具体的な型に変換します。static DirectMethodHandleDesc
ConstantDescs.ofConstantBootstrap
(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) 動的定数に対するブートストラップ・メソッドに対応するMethodHandleDesc
を返します。これは先行引数がLookup
、String
、Class
であるstaticメソッドです。static DirectMethodHandleDesc
MethodHandleDesc.ofConstructor
(ClassDesc owner, ClassDesc... paramTypes) コンストラクタの呼出しに対応するMethodHandleDescを返しますstatic DirectMethodHandleDesc
MethodHandleDesc.ofField
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType) フィールドにアクセスするメソッド・ハンドルに対応するMethodHandleDescを作成します。static DirectMethodHandleDesc
MethodHandleDesc.ofMethod
(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType) 宣言されたメソッドまたはコンストラクタの呼出しに対応するMethodHandleDescを作成します。static <T> DynamicConstantDesc<T>
DynamicConstantDesc.ofNamed
(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs) 動的定数の名目記述子を返します。型ClassDescのパラメータを持つjava.lang.constantのコンストラクタ修飾子コンストラクタ説明protected
DynamicConstantDesc
(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs) 動的定数の名目記述子を作成します。 -
java.lang.invokeでのClassDescの使用
ClassDescを返すjava.lang.invokeのメソッド型ClassDescのパラメータを持つjava.lang.invokeのメソッド修飾子と型メソッド説明static VarHandle.VarHandleDesc
配列型のVarHandle
に対応するVarHandle.VarHandleDescを返します。static VarHandle.VarHandleDesc
インスタンス・フィールドについて、VarHandle
に対応するVarHandle.VarHandleDescを返します。static VarHandle.VarHandleDesc
VarHandle.VarHandleDesc.ofStaticField
(ClassDesc declaringClass, String name, ClassDesc fieldType) 静的フィールドについてVarHandle
に対応するVarHandle.VarHandleDescを返します。