インタフェース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 ClassDescSignature.ClassTypeSig.classDesc()このクラスまたはインタフェースをシンボリック記述子として返します。default ClassDescAnnotation.classSymbol()注釈インタフェースをシンボリック記述子として返します。default ClassDescAnnotationValue.OfClass.classSymbol()クラス記述子を返します。default ClassDescAnnotationValue.OfEnum.classSymbol()列挙クラス記述子を返します。default ClassDescFieldModel.fieldTypeSymbol()フィールド型をシンボリック記述子として返します。TypeKind.upperBound()この型の値を格納できる、最も具体的な上限フィールド記述子を返します。型ClassDescのパラメータを持つjava.lang.classfileのメソッド修飾子と型メソッド説明default CodeBuilderreferenceの新しい配列を作成する命令を生成します。default byte[]ClassFile.build(ClassDesc thisClass, Consumer<? super ClassBuilder> handler) classファイルをバイト配列に構築します。default voidClassFile.buildTo(Path path, ClassDesc thisClass, Consumer<ClassBuilder> handler) classファイルをファイル・システム内のファイルに構築します。CodeBuilder.CatchBuilder.catching(ClassDesc exceptionType, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。default CodeBuilderオブジェクトが指定の型かどうかをチェックする命令を生成し、チェックが失敗した場合はClassCastExceptionをスローします。default CodeBuilderCodeBuilder.exceptionCatch(Label start, Label end, Label handler, ClassDesc catchType) 例外表エントリを宣言します。default CodeBuilderCodeBuilder.fieldAccess(Opcode opcode, ClassDesc owner, String name, ClassDesc type) フィールドにアクセスするための指示を生成します。ClassHierarchyResolver.getClassInfo(ClassDesc classDesc) 指定されたクラス名のClassHierarchyInfoを返します。リゾルバの名前が不明な場合はnullを返します。default CodeBuilderオブジェクトからフィールドをフェッチする命令を生成します。default CodeBuilderクラスまたはインタフェースから静的フィールドを取得する命令を生成します。default CodeBuilderCodeBuilder.instanceOf(ClassDesc target) オブジェクトが指定された型であるかどうかを判断する命令を生成し、オペランド・スタックにbooleanの結果を生成します。default CodeBuilderCodeBuilder.invoke(Opcode opcode, ClassDesc owner, String name, MethodTypeDesc desc, boolean isInterface) メソッドを呼び出す命令を生成します。default CodeBuilderCodeBuilder.invokeinterface(ClassDesc owner, String name, MethodTypeDesc type) インタフェース・メソッドを起動する命令を生成します。default CodeBuilderCodeBuilder.invokespecial(ClassDesc owner, String name, MethodTypeDesc type) クラス内のインスタンス・メソッドを起動する命令を生成します。現在のクラスのインスタンス初期化メソッドおよびメソッドとそのスーパータイプを直接呼び出します。default CodeBuilderCodeBuilder.invokespecial(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) インスタンス・メソッドを起動する命令を生成します。インスタンス初期化メソッドと、現在のクラスとそのスーパータイプのメソッドを直接呼び出します。default CodeBuilderCodeBuilder.invokestatic(ClassDesc owner, String name, MethodTypeDesc type) クラスの(static)メソッドを呼び出す命令を生成します。default CodeBuilderCodeBuilder.invokestatic(ClassDesc owner, String name, MethodTypeDesc type, boolean isInterface) クラス(static)メソッドを起動する命令を生成します。default CodeBuilderCodeBuilder.invokevirtual(ClassDesc owner, String name, MethodTypeDesc type) インスタンス・メソッドを起動する命令を生成します。クラスに基づいてディスパッチします。default CodeBuilderCodeBuilder.localVariable(int slot, String name, ClassDesc descriptor, Label startScope, Label endScope) ローカル変数エントリを宣言します。default CodeBuilderCodeBuilder.multianewarray(ClassDesc array, int dims) 新しい多次元配列を作成する命令を生成します。default CodeBuilder新しいオブジェクトを作成する命令を生成します。static AnnotationAnnotation.of(ClassDesc annotationClass, AnnotationElement... elements) 注釈を返します。static AnnotationAnnotation.of(ClassDesc annotationClass, List<AnnotationElement> elements) 注釈を返します。static Signature.BaseTypeSigプリミティブ型またはvoidのシグネチャを返します。static Signature.ClassTypeSigSignature.ClassTypeSig.of(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs) クラスまたはインタフェースのシグネチャを返します。static Signature.ClassTypeSigSignature.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 ClassBuilderClassBuilder.withField(String name, ClassDesc descriptor, Consumer<? super FieldBuilder> handler) フィールドを追加しますdefault ClassBuilderClassBuilder.withInterfaceSymbols(ClassDesc... interfaces) このクラスのインタフェースを設定します。default ClassBuilderClassBuilder.withSuperclass(ClassDesc desc) このクラスのスーパークラスを設定します。型ClassDescの型引数を持つjava.lang.classfileのメソッド・パラメータ修飾子と型メソッド説明default ClassHierarchyResolverClassHierarchyResolver.cached(Supplier<Map<ClassDesc, ClassHierarchyResolver.ClassHierarchyInfo>> cacheFactory) このリゾルバからクラス階層情報をキャッシュするClassHierarchyResolverを返します。CodeBuilder.CatchBuilder.catchingMulti(List<ClassDesc> exceptionTypes, Consumer<CodeBuilder.BlockCodeBuilder> catchHandler) 指定された型の例外を捕捉するcatchブロックを追加します。static ClassHierarchyResolverClassHierarchyResolver.of(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolverを返します。static ClassHierarchyResolverClassHierarchyResolver.of(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolverを返します。static ClassHierarchyResolverClassHierarchyResolver.of(Collection<ClassDesc> interfaces, Map<ClassDesc, ClassDesc> classToSuperClass) クラス階層メタデータのコレクションからクラス階層情報を抽出するClassHierarchyResolverを返します。static ClassHierarchyResolverClassHierarchyResolver.ofResourceParsing(Function<ClassDesc, InputStream> classStreamResolver) マッピング関数によって返されたclassファイルからクラス階層情報を抽出するClassHierarchyResolverを返します。static Interfaces「インタフェース」要素を返します。default ClassBuilderClassBuilder.withInterfaceSymbols(List<ClassDesc> interfaces) このクラスのインタフェースを設定します。 -
java.lang.classfile.attributeでのClassDescの使用
修飾子と型メソッド説明default ClassDescStackMapFrameInfo.ObjectVerificationTypeInfo.classSymbol()オブジェクトのクラスをシンボリック記述子として返します。default ClassDescRecordComponentInfo.descriptorSymbol()このコンポーネントのシンボリック・フィールド記述子を返します。default ClassDescLocalVariableInfo.typeSymbol()ローカル変数のフィールド記述子を返します。型ClassDescのパラメータを持つjava.lang.classfile.attributeのメソッド修飾子と型メソッド説明static EnclosingMethodAttributeEnclosingMethodAttribute.of(ClassDesc className, Optional<String> methodName, Optional<MethodTypeDesc> methodType) EnclosingMethod属性を返します。static InnerClassInfoInnerClassInfo.of(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) ネストされたクラスの説明を返します。static InnerClassInfoInnerClassInfo.of(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) ネストされたクラスの説明を返します。static ModuleMainClassAttributeModuleMainClass属性を返します。static ModuleProvideInfoサービス・プロビジョニングの説明を返します。static ModuleProvideInfoサービス・プロビジョニングの説明を返します。static NestHostAttributeNestHost属性を返します。static RecordComponentInfoレコード・コンポーネントの説明を返します。static RecordComponentInfoレコード・コンポーネントの説明を返します。新しいオブジェクト検証タイプ情報を返します。static ExceptionsAttributeExceptions属性を返します。static NestMembersAttributeNestMembers属性を返します。static PermittedSubclassesAttributePermittedSubclasses属性を返します。サービスの提供を宣言します。サービスの使用を宣言します。型ClassDescの型引数を持つjava.lang.classfile.attributeのメソッド・パラメータ修飾子と型メソッド説明static InnerClassInfoInnerClassInfo.of(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, int flags) ネストされたクラスの説明を返します。static InnerClassInfoInnerClassInfo.of(ClassDesc innerClass, Optional<ClassDesc> outerClass, Optional<String> innerName, AccessFlag... flags) ネストされたクラスの説明を返します。static ModuleProvideInfoサービス・プロビジョニングの説明を返します。static ExceptionsAttributeExceptions属性を返します。static NestMembersAttributeNestMembers属性を返します。static PermittedSubclassesAttributePermittedSubclasses属性を返します。 -
java.lang.classfile.constantpoolでのClassDescの使用
修飾子と型メソッド説明ClassEntry.asSymbol()表された参照型をシンボリック記述子として返します。default ClassDescConstantDynamicEntry.typeSymbol()この動的に計算される定数の「フィールド・タイプ」のシンボリック記述子を返します。default ClassDescFieldRefEntry.typeSymbol()「フィールド・タイプ」のシンボリック記述子を返します。型ClassDescのパラメータを持つjava.lang.classfile.constantpoolのメソッド修飾子と型メソッド説明default ClassEntryConstantPoolBuilder.classEntry(ClassDesc classDesc) 指定されたClassDescと同じ参照型を記述するClassEntryを返します。default FieldRefEntryConstantPoolBuilder.fieldRefEntry(ClassDesc owner, String name, ClassDesc type) クラスのフィールドを記述するFieldRefEntryを返します。default InterfaceMethodRefEntryConstantPoolBuilder.interfaceMethodRefEntry(ClassDesc owner, String name, MethodTypeDesc type) インタフェースのメソッドを記述するInterfaceMethodRefEntryを返します。default MethodRefEntryConstantPoolBuilder.methodRefEntry(ClassDesc owner, String name, MethodTypeDesc type) クラスのメソッドを記述するMethodRefEntryを返します。default NameAndTypeEntryConstantPoolBuilder.nameAndTypeEntry(String name, ClassDesc type) 指定された修飾されていない名前とフィールド記述子を記述するNameAndTypeEntryを返します。default Utf8Entry指定されたClassDescの「フィールド記述子文字列」を記述するUtf8Entryを返します。 -
java.lang.classfile.instructionでのClassDescの使用
修飾子と型メソッド説明default ClassDescFieldInstruction.typeSymbol()フィールドの型のシンボリック記述子を返します。default ClassDescLocalVariable.typeSymbol()ローカル変数型をシンボリック記述子として返します。型ClassDescのパラメータを持つjava.lang.classfile.instructionのメソッド -
java.lang.constantでのClassDescの使用
java.lang.constantにClassDesc型の引数型を持つサブインタフェース修飾子と型インタフェース説明interfaceinterfaceClassDescとして宣言されたjava.lang.constantのフィールド修飾子と型フィールド説明static final ClassDescConstantDescs.CD_booleanプリミティブ・タイプbooleanを表すClassDescstatic final ClassDescConstantDescs.CD_Booleanstatic final ClassDescConstantDescs.CD_byteプリミティブ・タイプbyteを表すClassDescstatic final ClassDescConstantDescs.CD_Bytestatic final ClassDescConstantDescs.CD_CallSitestatic final ClassDescConstantDescs.CD_charプリミティブ・タイプcharを表すClassDescstatic final ClassDescConstantDescs.CD_Characterstatic final ClassDescConstantDescs.CD_Classstatic final ClassDescConstantDescs.CD_ClassDescstatic final ClassDescConstantDescs.CD_Collectionstatic final ClassDescConstantDescs.CD_ConstantBootstrapsstatic final ClassDescConstantDescs.CD_ConstantDescstatic final ClassDescConstantDescs.CD_DirectMethodHandleDescstatic final ClassDescConstantDescs.CD_doubleプリミティブ・タイプdoubleを表すClassDescstatic final ClassDescConstantDescs.CD_Doublestatic final ClassDescConstantDescs.CD_DynamicCallSiteDescstatic final ClassDescConstantDescs.CD_DynamicConstantDescstatic final ClassDescConstantDescs.CD_Enumstatic final ClassDescConstantDescs.CD_EnumDescstatic final ClassDescConstantDescs.CD_Exceptionstatic final ClassDescConstantDescs.CD_floatプリミティブ・タイプfloatを表すClassDescstatic final ClassDescConstantDescs.CD_Floatstatic final ClassDescConstantDescs.CD_intプリミティブ・タイプintを表すClassDescstatic final ClassDescConstantDescs.CD_Integerstatic final ClassDescConstantDescs.CD_Liststatic final ClassDescConstantDescs.CD_longプリミティブ・タイプlongを表すClassDescstatic final ClassDescConstantDescs.CD_Longstatic final ClassDescConstantDescs.CD_Mapstatic final ClassDescConstantDescs.CD_MethodHandlestatic final ClassDescConstantDescs.CD_MethodHandleDescstatic final ClassDescConstantDescs.CD_MethodHandleDesc_Kindstatic final ClassDescConstantDescs.CD_MethodHandlesstatic final ClassDescConstantDescs.CD_MethodHandles_Lookupstatic final ClassDescConstantDescs.CD_MethodTypestatic final ClassDescConstantDescs.CD_MethodTypeDescstatic final ClassDescConstantDescs.CD_Numberstatic final ClassDescConstantDescs.CD_Objectstatic final ClassDescConstantDescs.CD_Setstatic final ClassDescConstantDescs.CD_shortプリミティブ・タイプshortを表すClassDescstatic final ClassDescConstantDescs.CD_Shortstatic final ClassDescConstantDescs.CD_Stringstatic final ClassDescConstantDescs.CD_Throwablestatic final ClassDescConstantDescs.CD_VarHandlestatic final ClassDescConstantDescs.CD_VarHandleDescstatic final ClassDescConstantDescs.CD_voidプリミティブ・タイプvoidを表すClassDescstatic final ClassDescConstantDescs.CD_VoidClassDescを返すjava.lang.constantのメソッド修飾子と型メソッド説明ClassDesc.arrayType()ClassDesc.arrayType(int rank) default ClassDescClassDesc.componentType()配列型を説明する場合はこのClassDescのコンポーネント型を返し、そうでない場合はnullを返します。DynamicConstantDesc.constantType()この定数に対してLDCのNameAndTypeオペランドに表示される型を示すClassDescを返します。default ClassDescdefault ClassDescstatic ClassDescクラスまたはインタフェース型に対して、"java.lang.String"などのクラスまたはインタフェースの名前を指定してClassDescを返します。static ClassDescクラスまたはインタフェース・タイプに対してClassDescを返します。クラスまたはインタフェースのパッケージ名および未修飾(simple)名が指定されます。static ClassDescClassDesc.ofDescriptor(String descriptor) クラス、インタフェース、配列またはプリミティブ・タイプの記述子文字列に対してClassDescを指定します。static ClassDescClassDesc.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 DirectMethodHandleDescMethodHandleDesc.of(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor) 宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。static MethodTypeDesc指定された戻り型およびパラメータ型のないMethodTypeDescを返します。static MethodTypeDesc戻り型およびパラメータ型が指定されたMethodTypeDescを返します。static MethodTypeDesc戻り型およびパラメータ・タイプのリストが指定されたMethodTypeDescを返します。static DirectMethodHandleDescConstantDescs.ofCallsiteBootstrap(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) invokedynamic呼出しサイトのブートストラップ・メソッドに対応するMethodHandleDescを返します。これは先頭のパラメータ・タイプがLookup、String、MethodTypeである静的メソッドです。static <T> ConstantDescDynamicConstantDesc.ofCanonical(DirectMethodHandleDesc bootstrapMethod, String constantName, ClassDesc constantType, ConstantDesc[] bootstrapArgs) 定数ブートストラップが既知の単一記述子で、より具体的な記述子タイプ(例: ClassDesc)が使用可能な場合は、動的定数の名目記述子を返し、より具体的な型に変換します。static DirectMethodHandleDescConstantDescs.ofConstantBootstrap(ClassDesc owner, String name, ClassDesc returnType, ClassDesc... paramTypes) 動的定数に対するブートストラップ・メソッドに対応するMethodHandleDescを返します。これは先行引数がLookup、String、Classであるstaticメソッドです。static DirectMethodHandleDescMethodHandleDesc.ofConstructor(ClassDesc owner, ClassDesc... paramTypes) コンストラクタの呼出しに対応するMethodHandleDescを返しますstatic DirectMethodHandleDescMethodHandleDesc.ofField(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType) フィールドにアクセスするメソッド・ハンドルに対応するMethodHandleDescを作成します。static DirectMethodHandleDescMethodHandleDesc.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のコンストラクタ修飾子コンストラクタ説明protectedDynamicConstantDesc(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.VarHandleDescVarHandle.VarHandleDesc.ofStaticField(ClassDesc declaringClass, String name, ClassDesc fieldType) 静的フィールドについてVarHandleに対応するVarHandle.VarHandleDescを返します。