KProperty
interface KProperty<out V> : KCallable<V>
Представляет свойство, такое как объявление именованного val или var. Экземпляры этого класса можно получить с помощью оператора ::.
Дополнительную информацию см. в документации по языку Kotlin.
Параметры
V - тип значения свойства.
Типы
Accessor
Представляет аксессор свойства, который является get или set методом, объявленным вместе со свойством. Дополнительную информацию см. в документации по языку Kotlin.
interface Accessor<out V>
Getter
Метод-геттер свойства, объявленный вместе со свойством.
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