Package-level declarations
Contains core data structures representing metadata of various Kotlin declarations.
Types
Marks an API related to the Kotlin's context receivers experimental feature.
Represents an annotation, written to the Kotlin metadata. Note that not all annotations are written to metadata on all platforms. For example, on JVM most of the annotations are written directly on the corresponding declarations in the class file, and entries in the metadata only have an attribute (such as KmClass.hasAnnotations) to signal if they do have annotations in the bytecode. On JVM, only annotations on type parameters and types are serialized to the Kotlin metadata (see KmType.annotations
and KmTypeParameter.annotations
JVM extensions)
Represents an argument of the annotation.
Represents a Kotlin class.
Represents a classifier of a Kotlin type. A classifier is a class, type parameter, or type alias. For example, in MutableMap<in String?, *>
, MutableMap
is the classifier.
Represents a constant value used in an effect expression.
Represents a constructor of a Kotlin class.
Represents a contract of a Kotlin function.
Represents a Kotlin declaration container, such as a class or a package fragment.
Represents an effect (a part of the contract of a Kotlin function).
Represents an effect expression, the contents of an effect (a part of the contract of a Kotlin function).
Number of invocations of a lambda parameter specified by an effect (a part of the contract of a Kotlin function).
Type of an effect (a part of the contract of a Kotlin function).
Represents an upper bound of a flexible Kotlin type.
Represents a Kotlin function declaration.
Represents a Kotlin package fragment that contains top-level functions, properties, and type aliases. Package fragments are produced from single file facades and multi-file class parts. Note that a package fragment does not contain any classes, as classes are not a part of file facades and have their own metadata.
Represents a Kotlin property declaration.
Represents a Kotlin property accessor.
Represents a Kotlin type alias declaration.
Represents a type parameter of a Kotlin class, function, property, or type alias.
Represents type projection used in a type argument of the type based on a class or on a type alias. For example, in MutableMap<in String?, *>
, in String?
is the type projection which is the first type argument of the type.
Represents a value parameter of a Kotlin constructor, function, or property setter.
Variance applied to a type parameter on the declaration site (declaration-site variance), or to a type in a projection (use-site variance).
Represents a version requirement on a Kotlin declaration.
Severity of the diagnostic reported by the compiler when a version requirement is not satisfied.
The kind of the version that is required by a version requirement.
Represents kind of a function or property.
Represents visibility level (also known as access level) of the corresponding declaration. Some of these visibilities may be non-denotable in Kotlin.
Properties
Indicates that the corresponding value parameter declares a default value. Note that the default value itself can be a complex expression and is not available via metadata. Also note that in case of an override of a parameter with default value, the parameter in the derived method does not declare the default value, but the parameter is still optional at the call site because the default value from the base method is used.
Indicates that the corresponding class has at least one annotation.
Indicates that the corresponding constructor has at least one annotation.
Indicates that the corresponding function has at least one annotation.
Indicates that the corresponding property has at least one annotation.
Indicates that the corresponding property accessor has at least one annotation.
Indicates that the corresponding type alias has at least one annotation.
Indicates that the corresponding value parameter has at least one annotation.
Indicates that the corresponding property has a constant value. On JVM, this flag allows an optimization similarly to KmProperty.hasAnnotations: constant values of properties are written to the bytecode directly, and this flag can be used to avoid reading the value from the bytecode in case it is not there.
Indicates that the corresponding enum class has synthetic ".entries" property in bytecode.
Indicates that the corresponding constructor has non-stable parameter names, i.e., cannot be called with named arguments.
Indicates that the corresponding function has non-stable parameter names, i.e., cannot be called with named arguments.
Indicates that the corresponding property is const
.
Indicates that the corresponding value parameter is crossinline
.
Indicates that the corresponding type is definitely non-null.
Indicates that the corresponding property is a delegated property.
Indicates that the corresponding class is expect
.
Indicates that the corresponding function is expect
.
Indicates that the corresponding property is expect
.
Indicates that the corresponding class is external
.
Indicates that the corresponding function is external
.
Indicates that the corresponding property is external
.
Indicates that the corresponding property accessor is external
.
Indicates that the corresponding class is a functional interface, i.e., marked with the keyword fun
.
Indicates that the corresponding function is infix
.
Indicates that the corresponding function is inline
.
Indicates that the corresponding property accessor is inline
.
Indicates that the corresponding property is lateinit
.
Indicates that the corresponding effect expression should be negated to compute the proposition or the conclusion of an effect.
Indicates that the corresponding value parameter is noinline
.
Indicates that the corresponding property accessor is not default, i.e., it has a body and/or annotations in the source code, or the property is delegated.
Indicates that the corresponding type is marked as nullable, i.e., has a question mark at the end of its notation.
Indicates that the corresponding effect expression checks whether a value of some variable is null
.
Indicates that the corresponding function is operator
.
Indicates that the corresponding type parameter is reified
.
Indicates that the corresponding constructor is secondary, i.e., declared not in the class header, but in the class body.
Indicates that the corresponding function is tailrec
.
Indicates that the corresponding property is var
.
Represents kind of the corresponding class — whether it is a regular class or an interface, companion object, et cetera.
Represents kind of the corresponding function.
Represents kind of the corresponding property.
Represents modality of the corresponding class.
Represents modality of the corresponding function.
Represents modality of the corresponding property.
Represents modality of the corresponding property accessor.
Represents visibility of the corresponding class.
Represents visibility of the corresponding constructor.
Represents visibility of the corresponding function.
Represents visibility of the corresponding property.
Represents visibility of the corresponding property accessor.
Represents visibility of the corresponding type alias.