Class KotlinMetadata
- java.lang.Object
-
- proguard.util.SimpleProcessable
-
- proguard.classfile.kotlin.KotlinMetadata
-
- All Implemented Interfaces:
java.io.Serializable
,Processable
- Direct Known Subclasses:
KotlinDeclarationContainerMetadata
,KotlinMultiFileFacadeKindMetadata
,KotlinSyntheticClassKindMetadata
,UnsupportedKotlinMetadata
public abstract class KotlinMetadata extends SimpleProcessable
This abstract class represents metadata that is attached to a Kotlin class, parsed from its @Metadata tag.Documentation on the different fields is copied from: https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/jvm/runtime/kotlin/Metadata.kt
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description int
k
A kind of the metadata this annotation encodes.int[]
mv
The version of the metadata provided in the arguments of this annotation.java.lang.String
pn
Fully qualified name of the package this class is located in, from Kotlin's point of view, or empty string if this name does not differ from the JVM's package FQ name.int
xi
An extra int.java.lang.String
xs
An extra string.-
Fields inherited from class proguard.util.SimpleProcessable
processingFlags, processingInfo
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
KotlinMetadata(int k, int[] mv, int xi, java.lang.String xs, java.lang.String pn)
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
accept(Clazz clazz, KotlinMetadataVisitor kotlinMetadataVisitor)
-
Methods inherited from class proguard.util.SimpleProcessable
addProcessingFlags, getProcessingFlags, getProcessingInfo, hasProcessingFlags, removeProcessingFlags, setProcessingFlags, setProcessingInfo
-
-
-
-
Field Detail
-
k
public int k
A kind of the metadata this annotation encodes. Kotlin compiler recognizes the following kinds (see KotlinClassHeader.Kind):1 Class 2 File 3 Synthetic class 4 Multi-file class facade 5 Multi-file class part
The class file with a kind not listed here is treated as a non-Kotlin file.
-
mv
public int[] mv
The version of the metadata provided in the arguments of this annotation.
-
xi
public int xi
An extra int. Bits of this number represent the following flags:* 0 - this is a multi-file class facade or part, compiled with `-Xmultifile-parts-inherit`. * 1 - this class file is compiled by a pre-release version of Kotlin and is not visible to release versions. * 2 - this class file is a compiled Kotlin script source file (.kts). * 3 - the metadata of this class file is not supposed to be read by the compiler, whose major.minor version is less than the major.minor version of this metadata ([mv]).
-
xs
public java.lang.String xs
An extra string. For a multi-file part class, internal name of the facade class.
-
pn
public java.lang.String pn
Fully qualified name of the package this class is located in, from Kotlin's point of view, or empty string if this name does not differ from the JVM's package FQ name. These names can be different in case the [JvmPackageName] annotation is used. Note that this information is also stored in the corresponding module's `.kotlin_module` file.
-
-
Method Detail
-
accept
public abstract void accept(Clazz clazz, KotlinMetadataVisitor kotlinMetadataVisitor)
-
-