インタフェースjava.lang.constant.ClassDescの
使用
ClassDescを使用するパッケージ
パッケージ
説明
Javaプログラミング言語の設計にあたり基本的なクラスを提供します。
クラス・ファイルの解析、生成および変換ライブラリを提供します。
java.lang.classfile
ライブラリのclass
ファイル属性を記述するインタフェースを提供します。java.lang.classfile
ライブラリの定数プール・エントリを記述するインタフェースを提供します。java.lang.classfile
ライブラリのコード手順を説明するインタフェースを提供します。クラスやメソッド・ハンドルなどのランタイム・エンティティ用に「名目記述子」を表すクラスおよびインタフェース、および定数プール・エントリや
invokedynamic
コール・サイトなどのクラス・ファイル・エンティティ用に「名目記述子」を表すクラスおよびインタフェース。java.lang.invoke
パッケージは、Java Virtual Machineとやりとりするための低レベルのプリミティブを提供します。-
java.langでのClassDescの使用
-
java.lang.classfileでのClassDescの使用
ClassDescを返すjava.lang.classfileのメソッド修飾子と型メソッド説明default ClassDesc
Signature.ClassTypeSig.classDesc()
このクラスまたはインタフェースをシンボリック記述子として返します。default ClassDesc
Annotation.classSymbol()
注釈インタフェースをシンボリック記述子として返します。default ClassDesc
AnnotationValue.OfClass.classSymbol()
クラス記述子を返します。default ClassDesc
AnnotationValue.OfEnum.classSymbol()
列挙クラス記述子を返します。default ClassDesc
FieldModel.fieldTypeSymbol()
フィールド型をシンボリック記述子として返します。TypeKind.upperBound()
この型の値を格納できる、最も具体的な上限フィールド記述子を返します。型ClassDescのパラメータを持つjava.lang.classfileのメソッド修飾子と型メソッド説明default CodeBuilder
reference
の新しい配列を作成する命令を生成します。default byte[]
ClassFile.build
(ClassDesc thisClass, Consumer<? super ClassBuilder> handler) class
ファイルをバイト配列に構築します。default void
ClassFile.buildTo
(Path path, ClassDesc thisClass, Consumer<ClassBuilder> handler) class
ファイルをファイル・システム内のファイルに構築します。CodeBuilder.CatchBuilder.catching
(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。default CodeBuilder
オブジェクトが指定の型かどうかをチェックする命令を生成し、チェックが失敗した場合はClassCastException
をスローします。default CodeBuilder
CodeBuilder.exceptionCatch
(Label start, Label end, Label handler, ClassDesc catchType) 例外表エントリを宣言します。default CodeBuilder
CodeBuilder.fieldAccess
(Opcode opcode, ClassDesc owner, String name, ClassDesc type) フィールドにアクセスするための指示を生成します。ClassHierarchyResolver.getClassInfo
(ClassDesc classDesc) 指定されたクラス名のClassHierarchyInfo
を返します。リゾルバの名前が不明な場合はnull
を返します。default CodeBuilder
オブジェクトからフィールドをフェッチする命令を生成します。default CodeBuilder
クラスまたはインタフェースから静的フィールドを取得する命令を生成します。default CodeBuilder
CodeBuilder.instanceOf
(ClassDesc target) オブジェクトが指定された型であるかどうかを判断する命令を生成し、オペランド・スタックにboolean
の結果を生成します。default CodeBuilder
CodeBuilder.invoke
(Opcode opcode, ClassDesc owner, String name, MethodTypeDesc desc, boolean isInterface) メソッドを呼び出す命令を生成します。default CodeBuilder
CodeBuilder.invokeinterface
(ClassDesc owner, String name, MethodTypeDesc type) インタフェース・メソッドを起動する命令を生成します。default CodeBuilder
CodeBuilder.invokespecial
(ClassDesc owner, String name, MethodTypeDesc type) クラス内のインスタンス・メソッドを起動する命令を生成します。現在のクラスのインスタンス初期化メソッドおよびメソッドとそのスーパータイプを直接呼び出します。default CodeBuilder
CodeBuilder.invokespecial
(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) インスタンス・メソッドを起動する命令を生成します。インスタンス初期化メソッドと、現在のクラスとそのスーパータイプのメソッドを直接呼び出します。default CodeBuilder
CodeBuilder.invokestatic
(ClassDesc owner, String name, MethodTypeDesc type) クラスの(static)メソッドを呼び出す命令を生成します。default CodeBuilder
CodeBuilder.invokestatic
(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) クラス(static)メソッドを起動する命令を生成します。default CodeBuilder
CodeBuilder.invokevirtual
(ClassDesc owner, String name, MethodTypeDesc type) インスタンス・メソッドを起動する命令を生成します。クラスに基づいてディスパッチします。default CodeBuilder
CodeBuilder.localVariable
(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope) ローカル変数エントリを宣言します。default CodeBuilder
CodeBuilder.multianewarray
(ClassDesc array, int dims) 新しい多次元配列を作成する命令を生成します。default CodeBuilder
新しいオブジェクトを作成する命令を生成します。static Annotation
Annotation.of
(ClassDesc annotationClass, AnnotationElement... elements) 注釈を返します。static Annotation
Annotation.of
(ClassDesc annotationClass, List<AnnotationElement> elements) 注釈を返します。static Signature.BaseTypeSig
プリミティブ型またはvoidのシグネチャを返します。static Signature.ClassTypeSig
Signature.ClassTypeSig.of
(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs) クラスまたはインタフェースのシグネチャを返します。static Signature.ClassTypeSig
Signature.ClassTypeSig.of
(ClassDesc className, Signature.TypeArg... typeArgs) 外部型のないクラスまたはインタフェース・シグネチャを返します。static Signature
フィールド記述子からJava型シグネチャを返します。static AnnotationElement
クラス値要素の要素と値のペアを返します。static AnnotationValue.OfClass
要素と値のペアのクラス値を返します。クラスが特定のスーパークラスを持つ宣言クラスであることを示します。static AnnotationValue.OfEnum
要素と値のペアの列挙値を返します。static Interfaces
「インタフェース」要素を返します。default CodeBuilder
オブジェクトのフィールドを設定する命令を生成します。default CodeBuilder
クラスの静的フィールドを設定する命令を生成します。default byte[]
ClassFile.transformClass
(ClassModel model, ClassDesc newClassName, ClassTransform transform) ClassTransform
に従って、1つのclass
ファイルを新しいclass
ファイルに変換します。default ClassBuilder
アクセス・フラグのみを持つフィールドを追加します。default ClassBuilder
ClassBuilder.withField
(String name, ClassDesc descriptor, Consumer<? super FieldBuilder> handler) フィールドを追加しますdefault ClassBuilder
ClassBuilder.withInterfaceSymbols
(ClassDesc... interfaces) このクラスのインタフェースを設定します。default ClassBuilder
ClassBuilder.withSuperclass
(ClassDesc desc) このクラスのスーパークラスを設定します。型ClassDescの型引数を持つjava.lang.classfileのメソッド・パラメータ修飾子と型メソッド説明default ClassHierarchyResolver
ClassHierarchyResolver.cached
(Supplier<Map<ClassDesc, ClassHierarchyResolver.ClassHierarchyInfo>> cacheFactory) このリゾルバからクラス階層情報をキャッシュするClassHierarchyResolver
を返します。CodeBuilder.CatchBuilder.catchingMulti
(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。static ClassHierarchyResolver
ClassHierarchyResolver.of
(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolver
を返します。static ClassHierarchyResolver
ClassHierarchyResolver.of
(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolver
を返します。static ClassHierarchyResolver
ClassHierarchyResolver.of
(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolver
を返します。static ClassHierarchyResolver
ClassHierarchyResolver.ofResourceParsing
(Function<ClassDesc, InputStream> classStreamResolver) マッピング関数によって返されたclass
ファイルからクラス階層情報を抽出するClassHierarchyResolver
を返します。static Interfaces
「インタフェース」要素を返します。default ClassBuilder
ClassBuilder.withInterfaceSymbols
(List<ClassDesc> interfaces) このクラスのインタフェースを設定します。 -
java.lang.classfile.attributeでのClassDescの使用
修飾子と型メソッド説明default ClassDesc
StackMapFrameInfo.ObjectVerificationTypeInfo.classSymbol()
オブジェクトのクラスをシンボリック記述子として返します。default ClassDesc
RecordComponentInfo.descriptorSymbol()
このコンポーネントのシンボリック・フィールド記述子を返します。default ClassDesc
LocalVariableInfo.typeSymbol()
ローカル変数のフィールド記述子を返します。型ClassDescのパラメータを持つjava.lang.classfile.attributeのメソッド修飾子と型メソッド説明static EnclosingMethodAttribute
EnclosingMethodAttribute.of
(ClassDesc className, Optional<String> methodName, Optional<MethodTypeDesc> methodType) EnclosingMethod
属性を返します。static InnerClassInfo
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) ネストされたクラスの説明を返します。static InnerClassInfo
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) ネストされたクラスの説明を返します。static ModuleMainClassAttribute
ModuleMainClass
属性を返します。static ModuleProvideInfo
サービス・プロビジョニングの説明を返します。static ModuleProvideInfo
サービス・プロビジョニングの説明を返します。static NestHostAttribute
NestHost
属性を返します。static RecordComponentInfo
レコード・コンポーネントの説明を返します。static RecordComponentInfo
レコード・コンポーネントの説明を返します。新しいオブジェクト検証タイプ情報を返します。static ExceptionsAttribute
Exceptions
属性を返します。static NestMembersAttribute
NestMembers
属性を返します。static PermittedSubclassesAttribute
PermittedSubclasses
属性を返します。サービスの提供を宣言します。サービスの使用を宣言します。型ClassDescの型引数を持つjava.lang.classfile.attributeのメソッド・パラメータ修飾子と型メソッド説明static InnerClassInfo
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) ネストされたクラスの説明を返します。static InnerClassInfo
InnerClassInfo.of
(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) ネストされたクラスの説明を返します。static ModuleProvideInfo
サービス・プロビジョニングの説明を返します。static ExceptionsAttribute
Exceptions
属性を返します。static NestMembersAttribute
NestMembers
属性を返します。static PermittedSubclassesAttribute
PermittedSubclasses
属性を返します。 -
java.lang.classfile.constantpoolでのClassDescの使用
修飾子と型メソッド説明ClassEntry.asSymbol()
表された参照型をシンボリック記述子として返します。default ClassDesc
ConstantDynamicEntry.typeSymbol()
この動的に計算される定数の「フィールドのタイプ」のシンボリック記述子を返します。default ClassDesc
FieldRefEntry.typeSymbol()
「フィールドのタイプ」のシンボリック記述子を返します。型ClassDescのパラメータを持つjava.lang.classfile.constantpoolのメソッド修飾子と型メソッド説明default ClassEntry
ConstantPoolBuilder.classEntry
(ClassDesc classDesc) 指定されたClassDesc
と同じ参照型を記述するClassEntry
を返します。default FieldRefEntry
ConstantPoolBuilder.fieldRefEntry
(ClassDesc owner, String name, ClassDesc type) クラスのフィールドを記述するFieldRefEntry
を返します。default InterfaceMethodRefEntry
ConstantPoolBuilder.interfaceMethodRefEntry
(ClassDesc owner, String name, MethodTypeDesc type) インタフェースのメソッドを記述するInterfaceMethodRefEntry
を返します。default MethodRefEntry
ConstantPoolBuilder.methodRefEntry
(ClassDesc owner, String name, MethodTypeDesc type) クラスのメソッドを記述するMethodRefEntry
を返します。default NameAndTypeEntry
ConstantPoolBuilder.nameAndTypeEntry
(String name, ClassDesc type) 指定された修飾されていない名前とフィールド記述子を記述するNameAndTypeEntry
を返します。default Utf8Entry
指定されたClassDesc
の「フィールド記述子文字列」を記述するUtf8Entry
を返します。 -
java.lang.classfile.instructionでのClassDescの使用
修飾子と型メソッド説明default ClassDesc
FieldInstruction.typeSymbol()
フィールドの型のシンボリック記述子を返します。default ClassDesc
LocalVariable.typeSymbol()
ローカル変数型をシンボリック記述子として返します。型ClassDescのパラメータを持つjava.lang.classfile.instructionのメソッド -
java.lang.constantでのClassDescの使用
java.lang.constantにClassDesc型の引数型を持つサブインタフェース修飾子と型インタフェース説明interface
interface
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のメソッド修飾子と型メソッド説明ClassDesc.arrayType()
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を指定します。static ClassDesc
ClassDesc.ofInternalName
(String name) "java/lang/String"
などの内部形式のクラスまたはインタフェースの名前を指定して、クラスまたはインタフェース・タイプの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 MethodTypeDesc
戻り型およびパラメータ型が指定されたMethodTypeDescを返します。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のメソッド・パラメータ型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を返します。