Package proguard.classfile.util.kotlin
Class KotlinMetadataInitializer
java.lang.Object
proguard.classfile.util.kotlin.KotlinMetadataInitializer
- All Implemented Interfaces:
AnnotationVisitor,ElementValueVisitor,ConstantVisitor,ClassVisitor
public class KotlinMetadataInitializer
extends 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 Metadata annotation. After initialization, all info from the
annotation is represented in the Clazz's ProgramClass.kotlinMetadata field.
Note: only applicable for ProgramClass.
- `initialize`: provide the Clazz and Metadata field values to the
initialize(Clazz, int, int[], String[], String[], int, String, String) method to initialize Kotlin metadata for the given Clazz.
-
Constructor Summary
ConstructorsConstructorDescriptionKotlinMetadataInitializer(BiConsumer<Clazz, String> errorHandler) KotlinMetadataInitializer(WarningPrinter warningPrinter) -
Method Summary
Modifier and TypeMethodDescriptionvoidInitialize Kotlin metadata for a givenClazz.static booleanstatic booleanstatic KotlinMetadataTypemetadataTypeOf(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) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotation, visitAnnotationMethods inherited from interface proguard.classfile.constant.visitor.ConstantVisitor
visitAnyConstant, visitAnyMethodrefConstant, visitAnyRefConstant, visitClassConstant, visitDoubleConstant, visitDynamicConstant, visitFieldrefConstant, visitFloatConstant, visitInterfaceMethodrefConstant, visitInvokeDynamicConstant, visitLongConstant, visitMethodHandleConstant, visitMethodrefConstant, visitMethodTypeConstant, visitModuleConstant, visitNameAndTypeConstant, visitPackageConstant, visitPrimitiveArrayConstant, visitStringConstantMethods inherited from interface proguard.classfile.attribute.annotation.visitor.ElementValueVisitor
visitAnnotationElementValue, visitAnyElementValue, visitClassElementValue, visitEnumConstantElementValue
-
Constructor Details
-
KotlinMetadataInitializer
-
KotlinMetadataInitializer
-
-
Method Details
-
visitAnyClass
Description copied from interface:ClassVisitorVisits any Clazz instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnyClassin interfaceClassVisitor
-
visitLibraryClass
- Specified by:
visitLibraryClassin interfaceClassVisitor
-
visitProgramClass
- Specified by:
visitProgramClassin interfaceClassVisitor
-
visitAnnotation
Description copied from interface:AnnotationVisitorVisits any Annotation instance. The more specific default implementations of this interface delegate to this method.- Specified by:
visitAnnotationin interfaceAnnotationVisitor
-
initialize
public void initialize(Clazz clazz, int k, int[] mv, String[] d1, String[] d2, int xi, String xs, String pn) Initialize Kotlin metadata for a givenClazz.- Parameters:
clazz- TheProgramClassorLibraryClass.
-
visitConstantElementValue
public void visitConstantElementValue(Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) - Specified by:
visitConstantElementValuein interfaceElementValueVisitor
-
visitArrayElementValue
public void visitArrayElementValue(Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue) - Specified by:
visitArrayElementValuein interfaceElementValueVisitor
-
visitUtf8Constant
- Specified by:
visitUtf8Constantin interfaceConstantVisitor
-
visitIntegerConstant
- Specified by:
visitIntegerConstantin interfaceConstantVisitor
-
isSupportedMetadataVersion
-
isValidKotlinMetadataAnnotationField
-
metadataTypeOf
-