Package-level declarations
Contains entry points for parsing metadata produced by Kotlin compiler for JVM and JVM-specific structures and extensions.
Types
A signature of a JVM field in the JVM-based format.
A signature of a JVM method or field.
Version of the metadata inside JVM classfile.
A signature of a JVM method in the JVM-based format.
Represents a Kotlin JVM module file (.kotlin_module
extension).
Collection of all single- and multi-file facades in a package of some module.
Represents the parsed metadata of a Kotlin JVM class file. Entry point for parsing metadata on JVM.
Represents the parsed metadata of a Kotlin JVM module file.
Marks an API still in development and not feature-complete or finalized. Such an API does not provide compatibility guarantees. It can be changed in future releases without migration aids or removed without a replacement.
Properties
Annotations on the type.
Annotations on the type parameter.
JVM internal name of the original class this anonymous object is copied from. This value is set for anonymous objects copied from bodies of inline functions to the use site by the Kotlin compiler.
JVM signature of the backing field of the property, or null
if this property has no backing field.
JVM signature of the property getter, or null
if this property has no getter or its signature is unknown.
Applicable to an interface compiled with -Xjvm-default=all or all-compatibility. True if interface has method bodies in it, false if Kotlin compiler moved all interface method bodies into a nested DefaultImpls
class.
Indicates if an interface was compiled with -Xjvm-default=all-compatibility.
Applicable to a property declared in an interface's companion object. Indicates that its backing field is declared as a static field in the interface. In Kotlin code, this usually happens if the property is annotated with JvmField.
The type flexibility id, signifying that the visited type is a JVM platform type.
JVM internal name of the original class the lambda class for this function is copied from. This value is set for lambdas copied from bodies of inline functions to the use site by the Kotlin compiler.
Metadata of local delegated properties used somewhere inside this class (but not in a nested class). Note that for classes produced by the Kotlin compiler, such properties will have default accessors.
Metadata of local delegated properties used somewhere inside this package fragment (but not in any class). Note that for classes produced by the Kotlin compiler, such properties will have default accessors.
Name of the module where this class is declared.
Name of the module where this package fragment is declared.
JVM signature of the property setter, or null
if this property has no setter or its signature is unknown.
JVM signature of the constructor, or null if the JVM signature of this constructor is unknown.
JVM signature of the function, or null if the JVM signature of this function is unknown.
JVM signature of a synthetic method which is generated to store annotations on a property in the bytecode.
JVM signature of a synthetic method for properties which delegate to another property, which constructs and returns a property reference object. See https://kotlinlang.org/docs/delegated-properties.html#delegating-to-another-property.
Functions
Helper function to instantiate Metadata. Contrary to a direct constructor call, this one accepts nullable parameters to substitute nulls with default values. Also, this one does not accept Metadata.bytecodeVersion as it is deprecated.
Converts this to a JVM internal name of the class, where package names are separated by '/', and class names are separated by '$', for example: "org/foo/bar/Baz.Nested"
->"org/foo/bar/Baz$Nested"