Km Class
Represents a Kotlin class.
'Class' here is used in a broad sense and includes interfaces, enum classes, companion objects, et cetera. Precise kind of the class can be obtained via KmClass.kind. Various class attributes can be read and manipulated via extension properties, such as KmClass.visibility or KmClass.isData.
Properties
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.
Name of the companion object of this class, if it has one.
Constructors of the class.
Types of context receivers of the class.
Names of enum entries, if this class is an enum class.
Functions in the class.
Indicates that the corresponding class has at least one annotation.
Indicates that the corresponding enum class has synthetic ".entries" property in bytecode.
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.
Name of the underlying property, if this class is inline
.
Type of the underlying property, if this class is inline
.
Indicates if an interface was compiled with -Xjvm-default=all-compatibility.
Indicates that the corresponding class is external
.
Indicates that the corresponding class is a functional interface, i.e., marked with the keyword fun
.
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.
Name of the module where this class is declared.
Names of nested classes of this class.
Properties in the class.
Names of direct subclasses of this class, if this class is sealed
.
Supertypes of the class.
Type aliases in the class.
Type parameters of the class.
Version requirements on this class.
Represents visibility of the corresponding class.