KMutableProperty2

Common
JVM
JS
Native
1.0
interface KMutableProperty2<D, E, V> : 
    KProperty2<D, E, V>,
    KMutableProperty<V>

(Common source) (JVM source) (JS source) (Native source)

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

Types

JVM
1.0

Setter

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

interface Setter<D, E, V> : 
    KMutableProperty.Setter<V>,
    (D, E, V) -> Unit

Properties

JVM
1.0

setter

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

abstract val setter: KMutableProperty2.Setter<D, E, V>

Inherited Properties

JVM
1.0

getter

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

abstract val getter: KProperty2.Getter<D, E, V>
JVM
1.0

setter

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

abstract val setter: KMutableProperty.Setter<V>

Functions

Common
JVM
JS
Native
1.0

set

Modifies the value of the property.

abstract fun set(receiver1: D, receiver2: E, value: V)

Inherited Functions

JVM
1.1

getDelegate

Returns the value of the delegate if this is a delegated property, or null if this property is not delegated. See the Kotlin language documentation for more information.

abstract fun getDelegate(receiver1: D, receiver2: E): Any?
Native
1.3

invoke

abstract operator fun invoke(p1: D, p2: E): V

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.1

getExtensionDelegate

Returns the instance of a delegated member extension property, or null if this property is not delegated. Throws an exception if this is not an extension property.

fun <D> KProperty2<D, *, *>.getExtensionDelegate(
    receiver: D
): Any?
JVM
1.4

hasAnnotation

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

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

reflect

This is an experimental API. Given a class for a compiled Kotlin lambda or a function expression, returns a KFunction instance providing introspection capabilities for that lambda or function expression and its parameters. Not all features are currently supported, in particular KCallable.call and KCallable.callBy will fail at the moment.

fun <R> Function<R>.reflect(): KFunction<R>?