类 KotlinMetadataInitializer
- java.lang.Object
-
- proguard.classfile.util.kotlin.KotlinMetadataInitializer
-
- 所有已实现的接口:
AnnotationVisitor,ElementValueVisitor,ConstantVisitor,ClassVisitor
public class KotlinMetadataInitializer extends java.lang.Object implements ClassVisitor, AnnotationVisitor, ElementValueVisitor, ConstantVisitor
Initializes the kotlin metadata for a Kotlin class.Provides two APIs:
- Visitor: use as a ClassVisitor or AnnotationVisitor to initialize the Kotlin metadata contain within a
Metadataannotation. After initialization, all info from the annotation is represented in theClazz'sProgramClass.kotlinMetadatafield.Note: only applicable for
ProgramClass.- `initialize`: provide the
ClazzandMetadatafield values to theinitialize(Clazz, int, int[], String[], String[], int, String, String)method to initialize Kotlin metadata for the givenClazz.
-
-
构造器概要
构造器 构造器 说明 KotlinMetadataInitializer(java.util.function.BiConsumer<Clazz,java.lang.String> errorHandler)KotlinMetadataInitializer(WarningPrinter warningPrinter)
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 voidinitialize(Clazz clazz, int k, int[] mv, java.lang.String[] d1, java.lang.String[] d2, int xi, java.lang.String xs, java.lang.String pn)Initialize Kotlin metadata for a givenClazz.static booleanisSupportedMetadataVersion(KotlinMetadataVersion mv)static booleanisValidKotlinMetadataAnnotationField(java.lang.String name)static KotlinMetadataTypemetadataTypeOf(java.lang.String name)voidvisitAnnotation(Clazz clazz, Annotation annotation)Visits any Annotation instance.voidvisitAnyClass(Clazz clazz)Visits any Clazz instance.voidvisitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)voidvisitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue)voidvisitIntegerConstant(Clazz clazz, IntegerConstant integerConstant)voidvisitLibraryClass(LibraryClass libraryClass)voidvisitProgramClass(ProgramClass clazz)voidvisitUtf8Constant(Clazz clazz, Utf8Constant utf8Constant)-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation
-
从接口继承的方法 proguard.classfile.constant.visitor.ConstantVisitor
visitAnyConstant, visitAnyMethodrefConstant, visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstant
-
从接口继承的方法 proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
visitAnnotationElementValue, visitAnyElementValue, visitClassElementValue, visitEnumConstantElementValue
-
-
-
-
构造器详细资料
-
KotlinMetadataInitializer
public KotlinMetadataInitializer(WarningPrinter warningPrinter)
-
KotlinMetadataInitializer
public KotlinMetadataInitializer(java.util.function.BiConsumer<Clazz,java.lang.String> errorHandler)
-
-
方法详细资料
-
visitAnyClass
public void visitAnyClass(Clazz clazz)
从接口复制的说明:ClassVisitorVisits any Clazz instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnyClass在接口中ClassVisitor
-
visitLibraryClass
public void visitLibraryClass(LibraryClass libraryClass)
- 指定者:
visitLibraryClass在接口中ClassVisitor
-
visitProgramClass
public void visitProgramClass(ProgramClass clazz)
- 指定者:
visitProgramClass在接口中ClassVisitor
-
visitAnnotation
public void visitAnnotation(Clazz clazz, Annotation annotation)
从接口复制的说明:AnnotationVisitorVisits any Annotation instance. The more specific default implementations of this interface delegate to this method.- 指定者:
visitAnnotation在接口中AnnotationVisitor
-
initialize
public void initialize(Clazz clazz, int k, int[] mv, java.lang.String[] d1, java.lang.String[] d2, int xi, java.lang.String xs, java.lang.String pn)
Initialize Kotlin metadata for a givenClazz.- 参数:
clazz- TheProgramClassorLibraryClass.
-
visitConstantElementValue
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue)
- 指定者:
visitConstantElementValue在接口中ElementValueVisitor
-
visitArrayElementValue
public void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue)
- 指定者:
visitArrayElementValue在接口中ElementValueVisitor
-
visitUtf8Constant
public void visitUtf8Constant(Clazz clazz, Utf8Constant utf8Constant)
- 指定者:
visitUtf8Constant在接口中ConstantVisitor
-
visitIntegerConstant
public void visitIntegerConstant(Clazz clazz, IntegerConstant integerConstant)
- 指定者:
visitIntegerConstant在接口中ConstantVisitor
-
isSupportedMetadataVersion
public static boolean isSupportedMetadataVersion(KotlinMetadataVersion mv)
-
isValidKotlinMetadataAnnotationField
public static boolean isValidKotlinMetadataAnnotationField(java.lang.String name)
-
metadataTypeOf
public static KotlinMetadataType metadataTypeOf(java.lang.String name)
-
-