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:
A kind of the metadata this annotation encodes. Kotlin compiler recognizes the following kinds (see KotlinClassHeader.Kind):
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.
public int mv
The version of the metadata provided in the arguments of this annotation.
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]).
public java.lang.String xs
An extra string. For a multi-file part class, internal name of the facade class.
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.