KMutableProperty2
interface KMutableProperty2<D, E, V> : KProperty2<D, E, V>, KMutableProperty<V>
Представляет var-свойство, операции с которым принимают два получателя в качестве параметров.
Типы
Метод установки
Метод установки свойства — это set метод, объявленный вместе со свойством.
interface Setter<D, E, V> : KMutableProperty.Setter<V>, (D, E, V) -> Unit
Свойства
setter
Метод установки этого изменяемого свойства, используемый для изменения значения свойства.
abstract val setter: KMutableProperty2.Setter<D, E, V>
Наследованные свойства
getter
Метод получения этого свойства, используемый для получения значения свойства.
abstract val getter: KProperty2.Getter<D, E, V>
Функции
set
Изменяет значение свойства.
abstract fun set(receiver1: D, receiver2: E, value: V)
Наследованные функции
getDelegate
Возвращает значение делегата, если это делегированное свойство, или null , если это свойство не делегировано. Подробнее см. документацию по языку Kotlin.
abstract fun getDelegate(receiver1: D, receiver2: E): Any?
invoke
abstract operator fun invoke(p1: D, p2: E): V
Расширяющие свойства
extensionReceiverParameter
Возвращает параметр, представляющий экземпляр получателя расширения, необходимый для вызова этого вызываемого элемента, или null , если этот вызываемый элемент не является расширением.
val KCallable<*>.extensionReceiverParameter: KParameter?
instanceParameter
Возвращает параметр, представляющий экземпляр this , необходимый для вызова этого вызываемого элемента, или null , если этот вызываемый элемент не является членом класса и, следовательно, не принимает такой параметр.
val KCallable<*>.instanceParameter: KParameter?
isAccessible
Предоставляет возможность подавить проверки доступа JVM для вызываемого элемента.
var KCallable<*>.isAccessible: Boolean
javaField
Возвращает экземпляр Java Field, соответствующий полю-базовому элементу заданного свойства, или null , если свойство не имеет поля-базового элемента.
val KProperty<*>.javaField: Field?
javaGetter
Возвращает экземпляр Java Method, соответствующий методу получения заданного свойства, или null , если свойство не имеет метода получения, например, в случае простого закрытого val в классе.
val KProperty<*>.javaGetter: Method?
javaSetter
Возвращает экземпляр Java Method, соответствующий методу установки заданного изменяемого свойства, или null , если свойство не имеет метода установки, например, в случае простого закрытого var в классе.
val KMutableProperty<*>.javaSetter: Method?
valueParameters
Возвращает параметры этого вызываемого элемента, исключая параметр экземпляра this и параметр получателя расширения.
val KCallable<*>.valueParameters: List<KParameter>
Расширяющие функции
callSuspend
Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является приостанавливаемой функцией, ведёт себя как KCallable.call. В противном случае вызывает приостанавливаемую функцию с текущим продолжением.
suspend fun <R> KCallable<R>.callSuspend( vararg args: Any? ): R
callSuspendBy
Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является приостанавливаемой функцией, ведёт себя как KCallable.callBy. В противном случае вызывает приостанавливаемую функцию с текущим продолжением.
suspend fun <R> KCallable<R>.callSuspendBy( args: Map<KParameter, Any?> ): R
findAnnotation
Возвращает аннотацию заданного типа для данного элемента.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
findParameterByName
Возвращает параметр этого вызываемого объекта с заданным именем, или null если такого параметра нет.
fun KCallable<*>.findParameterByName( name: String ): KParameter?
getExtensionDelegate
Возвращает экземпляр делегата для расширенного члена-свойства, или null если это свойство не делегировано. Бросает исключение, если это не расширенное свойство.
fun <D> KProperty2<D, *, *>.getExtensionDelegate( receiver: D ): Any?
hasAnnotation
Возвращает true, если этот элемент имеет аннотацию типа T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
reflect
Это экспериментальный API. Принимая класс скомпилированной Kotlin лямбды или выражения функции, возвращает экземпляр KFunction, предоставляющий возможности интроспекции для этой лямбды или выражения функции и её параметров. Не все функции в настоящее время поддерживаются, в частности, KCallable.call и KCallable.callBy в данный момент не будут работать.
fun <R> Function<R>.reflect(): KFunction<R>?
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-mutable-property2/index.html