KCallable
interface KCallable<out R>
interface KCallable<out R> : KAnnotatedElement
Представляет вызываемый объект, такой как функция или свойство.
Параметры
R - тип возвращаемого значения вызываемого объекта.
Свойства
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
name
Имя этого вызываемого объекта, как оно было объявлено в исходном коде. Если у вызываемого объекта нет имени, создается специальное выдуманное имя. К бесनाम вызываемым объектам относятся:
abstract val name: String
parameters
Параметры, необходимые для вызова этого вызываемого объекта. Если этот вызываемый объект требует экземпляр this, или параметр получателя расширения, они стоят в начале списка в этом порядке.
abstract val parameters: List<KParameter>
returnType
Тип значений, возвращаемых этим вызываемым объектом.
abstract val returnType: KType
typeParameters
Список параметров типа этого вызываемого объекта.
abstract val typeParameters: List<KTypeParameter>
visibility
Видимость этого вызываемого объекта, или null если его видимость не может быть представлена в Kotlin.
abstract val visibility: KVisibility?
Унаследованные свойства
annotations
Аннотации, присутствующие на этом элементе.
abstract val annotations: List<Annotation>
Функции
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
valueParameters
Возвращает параметры этого вызываемого объекта, исключая экземпляр this и параметр получателя расширения.
val KCallable<*>.valueParameters: List<KParameter>
Расширяемые функции
``` END_OF_DOCUMENT_MARKERcallSuspend
Вызывает вызываемый объект в текущем контексте приостановки. Если вызываемый объект не является функцией приостановки, ведет себя как 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( klass: KClass<T> ): List<T>
fun <T : Annotation> KAnnotatedElement.findAnnotations(): List<T>
findParameterByName
Возвращает параметр этого вызываемого объекта с заданным именем или null если такого параметра нет.
fun KCallable<*>.findParameterByName( name: String ): KParameter?
hasAnnotation
Возвращает true, если этот элемент аннотирован аннотацией типа T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Наследники
KFunction
Представляет функцию с возможностями интроспекции.
interface KFunction<out R> : KCallable<R>, Function<R>
KProperty
Представляет свойство, такое как именованное val или var объявление. Экземпляры этого класса можно получить с помощью оператора ::.
interface KProperty<out V> : KCallable<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-callable/index.html