KMutableProperty2
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
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
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
getter
The getter of this property, used to obtain the value of the property.
abstract val getter: KProperty2.Getter<D, E, V>
setter
The setter of this mutable property, used to change the value of the property.
abstract val setter: KMutableProperty.Setter<V>
Functions
set
Modifies the value of the property.
abstract fun set(receiver1: D, receiver2: E, value: V)
Inherited Functions
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?
invoke
abstract operator fun invoke(p1: D, p2: E): V
Extension Properties
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?
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?
isAccessible
Provides a way to suppress JVM access checks for a callable.
var KCallable<*>.isAccessible: Boolean
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?
valueParameters
Returns parameters of this callable, excluding the this
instance and the extension receiver parameter.
val KCallable<*>.valueParameters: List<KParameter>
Extension Functions
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
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
findAnnotation
Returns an annotation of the given type on this element.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
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>
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?
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?
hasAnnotation
Returns true if this element is annotated with an annotation of type T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
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.