W3cubDocs

/Kotlin

Package kotlin.reflect

Runtime API for Kotlin reflection

Types

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KAnnotatedElement

Represents an annotated element and allows to obtain its annotations. See the Kotlin language documentation for more information.

interface KAnnotatedElement

KCallable

Represents a callable entity, such as a function or a property.

Platform and version requirements:
interface KCallable<out R>
Platform and version requirements: JVM (1.0), JS (1.1), Native (1.3)
interface KCallable<out R> : KAnnotatedElement

KClass

Represents a class and provides introspection capabilities. Instances of this class are obtainable by the ::class syntax. See the Kotlin language documentation for more information.

Platform and version requirements:
interface KClass<T : Any>
Platform and version requirements: JVM (1.0), JS (1.1), Native (1.3)
interface KClass<T : Any> : 
    KDeclarationContainer, 
    KAnnotatedElement, 
    KClassifier
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

KClassifier

A classifier is either a class or a type parameter.

interface KClassifier
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KDeclarationContainer

Represents an entity which may contain declarations of any other entities, such as a class or a package.

interface KDeclarationContainer

KFunction

Represents a function with introspection capabilities.

Platform and version requirements: JVM (1.0), JS (1.1)
interface KFunction<out R> : KCallable<R>, Function<R>
Platform and version requirements: Native (1.3)
interface KFunction<out R> : KCallable<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KMutableProperty

Represents a property declared as a var.

interface KMutableProperty<R> : KProperty<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KMutableProperty0

Represents a var-property without any kind of receiver.

interface KMutableProperty0<R> : 
    KProperty0<R>, 
    KMutableProperty<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KMutableProperty1

Represents a var-property, operations on which take one receiver as a parameter.

interface KMutableProperty1<T, R> : 
    KProperty1<T, R>, 
    KMutableProperty<R>

KMutableProperty2

Represents a var-property, operations on which take two receivers as parameters.

Platform and version requirements: JVM (1.0), JS (1.1)
interface KMutableProperty2<D, E, R> : 
    KProperty2<D, E, R>, 
    KMutableProperty<R>
Platform and version requirements: Native (1.3)
interface KMutableProperty2<T1, T2, R> : 
    KProperty2<T1, T2, R>, 
    KMutableProperty<R>
Platform and version requirements: JVM (1.0), JS (1.0)

KParameter

Represents a parameter passed to a function or a property getter/setter, including this and extension receiver parameters.

interface KParameter : KAnnotatedElement
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KProperty

Represents a property, such as a named val or var declaration. Instances of this class are obtainable by the :: operator.

interface KProperty<out R> : KCallable<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KProperty0

Represents a property without any kind of receiver. Such property is either originally declared in a receiverless context such as a package, or has the receiver bound to it.

interface KProperty0<out R> : KProperty<R>, () -> R
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KProperty1

Represents a property, operations on which take one receiver as a parameter.

interface KProperty1<T, out R> : KProperty<R>, (T) -> R

KProperty2

Represents a property, operations on which take two receivers as parameters, such as an extension property declared in a class.

Platform and version requirements: JVM (1.0), JS (1.1)
interface KProperty2<D, E, out R> : KProperty<R>, (D, E) -> R
Platform and version requirements: Native (1.3)
interface KProperty2<T1, T2, out R> : 
    KProperty<R>, 
    (T1, T2) -> R

KType

Represents a type. Type is usually either a class with optional type arguments, or a type parameter of some declaration, plus nullability.

Platform and version requirements: JVM (1.0), JS (1.1)
interface KType : KAnnotatedElement
Platform and version requirements: Native (1.3)
interface KType
Platform and version requirements: JVM (1.1), JS (1.1)

KTypeParameter

Represents a declaration of a type parameter of a class or a callable. See the Kotlin language documentation for more information.

interface KTypeParameter : KClassifier
Platform and version requirements: JVM (1.1), JS (1.1)

KTypeProjection

Represents a type projection. Type projection is usually the argument to another type in a type usage. For example, in the type Array<out Number>, out Number is the covariant projection of the type represented by the class Number.

data class KTypeProjection
Platform and version requirements: JVM (1.1), JS (1.1)

KVariance

Represents variance applied to a type parameter on the declaration site (declaration-site variance), or to a type in a projection (use-site variance).

enum class KVariance
Platform and version requirements: JVM (1.1), JS (1.1)

KVisibility

Visibility is an aspect of a Kotlin declaration regulating where that declaration is accessible in the source code. Visibility can be changed with one of the following modifiers: public, protected, internal, private.

enum class KVisibility

Functions

Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

typeOf

Returns a runtime representation of the given reified type T as an instance of KType.

fun <T> typeOf(): KType

© 2010–2019 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/index.html