Spec-Zone.ru › Kotlin 1.8

KProperty2

kotlin-stdlib / kotlin.reflect / KProperty2
Требования к платформе и версии: JVM (1.0), JS (1.1), Native (1.3)
interface KProperty2<D, E, out V> : KProperty<V>, (D, E) -> V

Представляет свойство, операции над которым принимают два получателя в качестве параметров, например, расширяющее свойство, объявленное в классе.

Параметры

D - тип первого получателя. В случае расширяющего свойства в классе это тип объявляющего класса свойства или любого подкласса этого класса.

E - тип второго получателя. В случае расширяющего свойства в классе это тип расширяющего получателя.

V - тип значения свойства.

Типы

Требования к платформе и версии: JVM (1.0)

Getter

Геттер свойства — это get метод, объявленный вместе со свойством.

interface Getter<D, E, out V> : 
    KProperty.Getter<V>, 
    (D, E) -> V

Свойства

Требования к платформе и версии: JVM (1.0)

getter

Геттер этого свойства, используемый для получения значения свойства.

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

Наследуемые свойства

Требования к платформе и версии: JVM (1.0)

getter

Геттер этого свойства, используемый для получения значения свойства.

abstract val getter: KProperty.Getter<V>
Требования к платформе и версии: JVM (1.1)

isConst

true если это свойство является const. См. документацию языка Kotlin для получения дополнительной информации.

abstract val isConst: Boolean
Требования к платформе и версии: JVM (1.1)

isLateinit

true если это свойство является lateinit. См. документацию языка Kotlin для получения дополнительной информации.

abstract val isLateinit: Boolean

Функции

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

get

Возвращает текущее значение свойства. В случае расширяющего свойства в классе сначала должен быть передан экземпляр класса, а затем экземпляр расширяющего получателя.

abstract fun get(receiver1: D, receiver2: E): V
Требования к платформе и версии: JVM (1.1)

getDelegate

Возвращает значение делегата, если это делегированное свойство, или null если это свойство не делегировано. См. документацию языка Kotlin для получения дополнительной информации.

abstract fun getDelegate(receiver1: D, receiver2: E): Any?
Требования к платформе и версии: Native (1.3)

invoke

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

Расширяемые свойства

Требования к платформе и версии: JVM (1.1)

extensionReceiverParameter

Возвращает параметр, представляющий экземпляр расширяющего получателя, необходимый для вызова этого вызываемого объекта, или null если этот вызываемый объект не является расширяющим.

val KCallable<*>.extensionReceiverParameter: KParameter?
Требования к платформе и версии: JVM (1.1)

instanceParameter

Возвращает параметр, представляющий экземпляр this , необходимый для вызова этого вызываемого объекта, или null если этот вызываемый объект не является членом класса и, следовательно, не принимает такой параметр.

val KCallable<*>.instanceParameter: KParameter?
Требования к платформе и версии: JVM (1.0)

isAccessible

Предоставляет способ подавления проверок доступа JVM для вызываемого объекта.

var KCallable<*>.isAccessible: Boolean
Требования к платформе и версии: JVM (1.0)

javaField

Возвращает экземпляр Java Field, соответствующий полю-обработчику данного свойства, или null если у свойства нет поля-обработчика.

val KProperty<*>.javaField: Field?
Требования к платформе и версии: JVM (1.0)

javaGetter

Возвращает экземпляр Java Method, соответствующий геттеру данного свойства, или null если у свойства нет геттера, например, в случае простого закрытого val в классе.

val KProperty<*>.javaGetter: Method?
Требования к платформе и версии: JVM (1.1)

valueParameters

Возвращает параметры этого вызываемого объекта, за исключением параметра экземпляра this и параметра расширяющего получателя.

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

Расширяемые функции

Требования к платформе и версии: JVM (1.3)

callSuspend

Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является функцией приостановки, ведет себя как KCallable.call. В противном случае вызывает функцию приостановки с текущим продолжением.

suspend fun <R> KCallable<R>.callSuspend(
    vararg args: Any?
): R
Требования к платформе и версии: JVM (1.3)

callSuspendBy

Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является функцией приостановки, ведет себя как KCallable.callBy. В противном случае вызывает функцию приостановки с текущим продолжением.

suspend fun <R> KCallable<R>.callSuspendBy(
    args: Map<KParameter, Any?>
): R
Требования к платформе и версии: JVM (1.1)

findAnnotation

Возвращает аннотацию заданного типа на этом элементе.

fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
Требования к платформе и версии: JVM (1.7)

findAnnotations

Возвращает все аннотации заданного типа на этом элементе, включая аннотации, примененные индивидуально, а также повторяющиеся аннотации.

fun <T : Annotation> KAnnotatedElement.findAnnotations(): List<T>
fun <T : Annotation> KAnnotatedElement.findAnnotations(
    klass: KClass<T>
): List<T>
Требования к платформе и версии: JVM (1.1)

findParameterByName

Возвращает параметр этого вызываемого объекта с заданным именем или null , если такого параметра нет.

fun KCallable<*>.findParameterByName(
    name: String
): KParameter?
Требования к платформе и версии: JVM (1.1)

getExtensionDelegate

Возвращает экземпляр делегированного расширяемого члена свойства или null , если это свойство не делегировано. Выбрасывает исключение, если это не расширяемое свойство.

fun <D> KProperty2<D, *, *>.getExtensionDelegate(
    receiver: D
): Any?
Требования к платформе и версии: JVM (1.4)

hasAnnotation

Возвращает true, если этот элемент аннотирован аннотацией типа T.

fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Требования к платформе и версии: JVM (1.0)

reflect

Это экспериментальный API. Принимая класс скомпилированной Kotlin лямбды или выражения функции, возвращает экземпляр KFunction, предоставляющий возможности интроспекции для этой лямбды или выражения функции и её параметров. Не все функции в настоящее время поддерживаются, в частности KCallable.call и KCallable.callBy пока не работают.

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

Наследники

Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)

KMutableProperty2

Представляет var свойство, операции над которым принимают два получателя в качестве параметров.

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

© 2010–2023 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-property2/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API