KMutableProperty

Common
JVM
JS
Native
1.0

Represents a property declared as a var.

Types

JVM
1.0

Setter

Setter of the property is a set method declared alongside the property.

interface Setter<V> : KProperty.Accessor<V>, KFunction<Unit>

Properties

JVM
1.0

setter

The setter of this mutable property, used to change the value of the property.

abstract val setter: KMutableProperty.Setter<V>

Inherited Properties

JVM
1.0

getter

The getter of this property, used to obtain the value of the property.

abstract val getter: KProperty.Getter<V>
JVM
1.1

isConst

true if this property is const. See the Kotlin language documentation for more information.

abstract val isConst: Boolean
JVM
1.1

isLateinit

true if this property is lateinit. See the Kotlin language documentation for more information.

abstract val isLateinit: Boolean

Extension Properties

JVM
1.1

extensionReceiverParameter

Returns a parameter representing the extension receiver instance needed to call this callable, or null if this callable is not an extension.

val KCallable<*>.extensionReceiverParameter: KParameter?
JVM
1.1

instanceParameter

Returns a parameter representing the this instance needed to call this callable, or null if this callable is not a member of a class and thus doesn't take such parameter.

val KCallable<*>.instanceParameter: KParameter?
JVM
1.0

isAccessible

Provides a way to suppress JVM access checks for a callable.

var KCallable<*>.isAccessible: Boolean
JVM
1.0

javaField

Returns a Java Field instance corresponding to the backing field of the given property, or null if the property has no backing field.

val KProperty<*>.javaField: Field?
JVM
1.0

javaGetter

Returns a Java Method instance corresponding to the getter of the given property, or null if the property has no getter, for example in case of a simple private val in a class.

val KProperty<*>.javaGetter: Method?
JVM
1.0

javaSetter

Returns a Java Method instance corresponding to the setter of the given mutable property, or null if the property has no setter, for example in case of a simple private var in a class.

val KMutableProperty<*>.javaSetter: Method?
JVM
1.1

valueParameters

Returns parameters of this callable, excluding the this instance and the extension receiver parameter.

val KCallable<*>.valueParameters: List<KParameter>

Extension Functions

JVM
1.3

callSuspend

Calls a callable in the current suspend context. If the callable is not a suspend function, behaves as KCallable.call. Otherwise, calls the suspend function with current continuation.

suspend fun <R> KCallable<R>.callSuspend(
    vararg args: Any?
): R
JVM
1.3

callSuspendBy

Calls a callable in the current suspend context. If the callable is not a suspend function, behaves as KCallable.callBy. Otherwise, calls the suspend function with current continuation.

suspend fun <R> KCallable<R>.callSuspendBy(
    args: Map<KParameter, Any?>
): R
JVM
1.1

findAnnotation

Returns an annotation of the given type on this element.

fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
JVM
1.7

findAnnotations

Returns all annotations of the given type on this element, including individually applied annotations as well as repeated annotations.

fun <T : Annotation> KAnnotatedElement.findAnnotations(): List<T>
fun <T : Annotation> KAnnotatedElement.findAnnotations(
    klass: KClass<T>
): List<T>
JVM
1.1

findParameterByName

Returns the parameter of this callable with the given name, or null if there's no such parameter.

fun KCallable<*>.findParameterByName(
    name: String
): KParameter?
JVM
1.4

hasAnnotation

Returns true if this element is annotated with an annotation of type T.

fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean

Inheritors

Common
JVM
JS
Native
1.0

KMutableProperty0

Represents a var-property without any kind of receiver.

interface KMutableProperty0<V> : 
    KProperty0<V>,
    KMutableProperty<V>
Common
JVM
JS
Native
1.0

KMutableProperty1

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

interface KMutableProperty1<T, V> : 
    KProperty1<T, V>,
    KMutableProperty<V>
Common
JVM
JS
Native
1.0

KMutableProperty2

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

interface KMutableProperty2<D, E, V> : 
    KProperty2<D, E, V>,
    KMutableProperty<V>