KProperty
interface KProperty<out V> : KCallable<V>
Представляет свойство, например, объявление именованного val или var. Экземпляры этого класса можно получить с помощью оператора ::.
Дополнительную информацию см. в документации по языку Kotlin.
Параметры
V - тип значения свойства.
Типы
Accessor
Представляет аксессор свойства, который является методом get или set объявленным вместе со свойством. Дополнительную информацию см. в документации по языку Kotlin.
interface Accessor<out V>
Getter
Геттер свойства — это метод get объявленный вместе со свойством.
interface Getter<out V> : KProperty.Accessor<V>, KFunction<V>
Свойства
getter
Геттер этого свойства, используемый для получения значения свойства.
abstract val getter: KProperty.Getter<V>
isConst
true если это свойство является const. Дополнительную информацию см. в документации по языку Kotlin.
abstract val isConst: Boolean
isLateinit
true если это свойство является lateinit. Дополнительную информацию см. в документации по языку Kotlin.
abstract val isLateinit: Boolean
Наследуемые свойства
isAbstract
true если этот вызываемый элемент является abstract.
abstract val isAbstract: Boolean
isFinal
true если этот вызываемый элемент является final.
abstract val isFinal: Boolean
isOpen
true если этот вызываемый элемент является open.
abstract val isOpen: Boolean
isSuspend
true если это функция приостановления.
abstract val isSuspend: Boolean
parameters
Параметры, необходимые для вызова этого вызываемого элемента. Если этот вызываемый элемент требует экземпляр this или параметр получателя расширения, они указываются в списке в этом порядке.
abstract val parameters: List<KParameter>
typeParameters
Список параметров типа этого вызываемого элемента.
abstract val typeParameters: List<KTypeParameter>
visibility
Видимость этого вызываемого элемента или null если её нельзя представить в Kotlin.
abstract val visibility: KVisibility?
Наследуемые функции
call
Вызывает этот вызываемый элемент с указанным списком аргументов и возвращает результат. Выбрасывает исключение, если количество указанных аргументов не равно размеру parameters или если их типы не соответствуют типам параметров.
abstract fun call(vararg args: Any?): R
callBy
Вызывает этот вызываемый элемент с указанным отображением параметров к аргументам и возвращает результат. Если параметр не найден в отображении и не является необязательным (см. KParameter.isOptional), или его тип не соответствует типу предоставленного значения, выбрасывается исключение.
abstract fun callBy(args: Map<KParameter, Any?>): R
Расширяемые свойства
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?
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?
findAnnotations
Возвращает все аннотации заданного типа на этом элементе, включая аннотации, применённые индивидуально, а также повторяющиеся аннотации.
fun <T : Annotation> KAnnotatedElement.findAnnotations(): List<T>
fun <T : Annotation> KAnnotatedElement.findAnnotations( klass: KClass<T> ): List<T>
findParameterByName
Возвращает параметр этого вызываемого элемента с заданным именем или null , если такого параметра нет.
fun KCallable<*>.findParameterByName( name: String ): KParameter?
hasAnnotation
Возвращает true, если этот элемент имеет аннотацию типа T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Наследники
KMutableProperty
Представляет свойство, объявленное как var.
interface KMutableProperty<V> : KProperty<V>
KProperty0
Представляет свойство без какого-либо получателя. Такое свойство либо изначально объявлено в контексте без получателя, например, в пакете, либо имеет связанного с ним получателя.
interface KProperty0<out V> : KProperty<V>, () -> V
KProperty1
Представляет свойство, операции над которым принимают один получатель в качестве параметра.
interface KProperty1<T, out V> : KProperty<V>, (T) -> V
KProperty2
Представляет свойство, операции над которым принимают два получателя в качестве параметров, например, расширяемое свойство, объявленное в классе.
interface KProperty2<D, E, out V> : KProperty<V>, (D, E) -> V
© 2010–2022 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-property/index.html