インタフェースjava.lang.constant.ClassDescの
使用
パッケージ
説明
Javaプログラミング言語の設計にあたり基本的なクラスを提供します。
クラスやメソッド・ハンドルなどのランタイム・エンティティ用に「名目記述子」を表すクラスおよびインタフェース、および定数プール・エントリや
invokedynamic
コール・サイトなどのクラス・ファイル・エンティティ用に「名目記述子」を表すクラスおよびインタフェース。java.lang.invoke
パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。-
java.langでのClassDescの使用
-
java.lang.constantでのClassDescの使用
修飾子と型フィールド説明static ClassDesc
ConstantDescs.CD_boolean
プリミティブ・タイプboolean
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Boolean
static ClassDesc
ConstantDescs.CD_byte
プリミティブ・タイプbyte
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Byte
static ClassDesc
ConstantDescs.CD_CallSite
static ClassDesc
ConstantDescs.CD_char
プリミティブ・タイプchar
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Character
static ClassDesc
ConstantDescs.CD_Class
static ClassDesc
ConstantDescs.CD_ClassDesc
static ClassDesc
ConstantDescs.CD_Collection
static ClassDesc
ConstantDescs.CD_ConstantBootstraps
static ClassDesc
ConstantDescs.CD_ConstantDesc
static ClassDesc
ConstantDescs.CD_DirectMethodHandleDesc
static ClassDesc
ConstantDescs.CD_double
プリミティブ・タイプdouble
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Double
static ClassDesc
ConstantDescs.CD_DynamicCallSiteDesc
static ClassDesc
ConstantDescs.CD_DynamicConstantDesc
static ClassDesc
ConstantDescs.CD_Enum
static ClassDesc
ConstantDescs.CD_EnumDesc
static ClassDesc
ConstantDescs.CD_Exception
static ClassDesc
ConstantDescs.CD_float
プリミティブ・タイプfloat
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Float
static ClassDesc
ConstantDescs.CD_int
プリミティブ・タイプint
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Integer
static ClassDesc
ConstantDescs.CD_List
static ClassDesc
ConstantDescs.CD_long
プリミティブ・タイプlong
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Long
static ClassDesc
ConstantDescs.CD_Map
static ClassDesc
ConstantDescs.CD_MethodHandle
static ClassDesc
ConstantDescs.CD_MethodHandleDesc
static ClassDesc
ConstantDescs.CD_MethodHandleDesc_Kind
static ClassDesc
ConstantDescs.CD_MethodHandles
static ClassDesc
ConstantDescs.CD_MethodHandles_Lookup
static ClassDesc
ConstantDescs.CD_MethodType
static ClassDesc
ConstantDescs.CD_MethodTypeDesc
static ClassDesc
ConstantDescs.CD_Number
static ClassDesc
ConstantDescs.CD_Object
static ClassDesc
ConstantDescs.CD_Set
static ClassDesc
ConstantDescs.CD_short
プリミティブ・タイプshort
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Short
static ClassDesc
ConstantDescs.CD_String
static ClassDesc
ConstantDescs.CD_Throwable
static ClassDesc
ConstantDescs.CD_VarHandle
static ClassDesc
ConstantDescs.CD_VarHandleDesc
static ClassDesc
ConstantDescs.CD_void
プリミティブ・タイプvoid
を表すClassDesc
static ClassDesc
ConstantDescs.CD_Void
修飾子と型メソッド説明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で記述されたメソッド・タイプの戻り型を取得します。修飾子と型メソッド説明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)
動的定数の名目記述子を返します。修飾子コンストラクタ説明protected
DynamicConstantDesc(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc... bootstrapArgs)
動的定数の名目記述子を作成します。 -
java.lang.invokeでのClassDescの使用
修飾子と型メソッド説明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を返します。