Package-level declarations

Contains entry points for parsing metadata produced by Kotlin compiler for JVM and JVM-specific structures and extensions.

Types

Link copied to clipboard
data class JvmFieldSignature(val name: String, val descriptor: String) : JvmMemberSignature

A signature of a JVM field in the JVM-based format.

Link copied to clipboard
sealed class JvmMemberSignature

A signature of a JVM method or field.

Link copied to clipboard
class JvmMetadataVersion(val major: Int, val minor: Int, val patch: Int) : Comparable<JvmMetadataVersion>

Version of the metadata inside JVM classfile.

Link copied to clipboard
data class JvmMethodSignature(val name: String, val descriptor: String) : JvmMemberSignature

A signature of a JVM method in the JVM-based format.

Link copied to clipboard
class KmModule : KmModuleVisitor

Represents a Kotlin JVM module file (.kotlin_module extension).

Link copied to clipboard
class KmPackageParts(val fileFacades: MutableList<String>, val multiFileClassParts: MutableMap<String, String>)

Collection of all single- and multi-file facades in a package of some module.

Link copied to clipboard
sealed class KotlinClassMetadata

Represents the parsed metadata of a Kotlin JVM class file. Entry point for parsing metadata on JVM.

Link copied to clipboard

Represents the parsed metadata of a Kotlin JVM module file.

Link copied to clipboard
annotation class UnstableMetadataApi

Marks an API that is 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 replacement.

Properties

Link copied to clipboard

Annotations on the type.

Annotations on the type parameter.

Link copied to clipboard

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.

Link copied to clipboard

JVM signature of the backing field of the property, or null if this property has no backing field.

Link copied to clipboard

JVM signature of the property getter, or null if this property has no getter or its signature is unknown.

Link copied to clipboard

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.

Link copied to clipboard

Indicates if an interface was compiled with -Xjvm-default=all-compatibility.

Link copied to clipboard

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.

Link copied to clipboard

true if the type is seen as a raw type in Java.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

Name of the module where this class is declared.

Name of the module where this package fragment is declared.

Link copied to clipboard

JVM signature of the property setter, or null if this property has no setter or its signature is unknown.

Link copied to clipboard

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.

Link copied to clipboard

JVM signature of a synthetic method which is generated to store annotations on a property in the bytecode.

Link copied to clipboard

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

Link copied to clipboard
fun Metadata(kind: Int? = null, metadataVersion: IntArray? = null, data1: Array<String>? = null, data2: Array<String>? = null, extraString: String? = null, packageName: String? = null, extraInt: Int? = null): Metadata

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.

Link copied to clipboard

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"