Functions
Properties
Abbreviation of this type. Note that all types are expanded for metadata produced by the Kotlin compiler. For example:
typealias A<T> = MutableList<T>
fun foo(a: A<Any>) {}The type of the foo's parameter in the metadata is actually MutableList<Any>, and its abbreviation is A<Any>.
Annotations on the type.
Arguments of the type, if the type's classifier is a class or a type alias.
Classifier of the type.
Type flags, consisting of Flag.Type flags.
Upper bound of this type, if this type is flexible. In that case, all other data refers to the lower bound of the type.
Flexible types in Kotlin include platform types in Kotlin/JVM and dynamic type in Kotlin/JS.
true if this is an extension type (i.e. String.() -> Unit vs (String) -> Unit).
See details: https://discuss.kotlinlang.org/t/announcing-kotlinx-metadata-jvm-library-for-reading-modifying-metadata-of-kotlin-jvm-class-files/7980/27
Outer type of this type, if this type's classifier is an inner class. For example:
class A<T> { inner class B<U> }
fun foo(a: A<*>.B<Byte?>) {}The type of the foo's parameter in the metadata is B<Byte> (a type whose classifier is class B, and it has one type argument, type Byte?), and its outer type is A<*> (a type whose classifier is class A, and it has one type argument, star projection).