KFunction
interface KFunction<out R> : KCallable<R>, Function<R>
Представляет функцию с возможностями интроспекции.
Свойства
isExternal
true если эта функция external. См. документацию по языку Kotlin для получения дополнительной информации.
abstract val isExternal: Boolean
isInfix
true если эта функция infix. См. документацию по языку Kotlin для получения дополнительной информации.
abstract val isInfix: Boolean
isInline
true если эта функция inline. См. документацию по языку Kotlin для получения дополнительной информации.
abstract val isInline: Boolean
isOperator
true если эта функция operator. См. документацию по языку Kotlin для получения дополнительной информации.
abstract val isOperator: Boolean
isSuspend
true если это функция приостановки.
abstract val isSuspend: 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
javaConstructor
Возвращает экземпляр Java Constructor, соответствующий данной Kotlin-функции, или null если эта функция не является конструктором или не может быть представлена экземпляром Java Constructor.
val <T> KFunction<T>.javaConstructor: Constructor<T>?
javaMethod
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
reflect
Это экспериментальный API. Принимая класс скомпилированной Kotlin лямбды или выражения функции, возвращает экземпляр KFunction, предоставляющий возможности интроспекции для этой лямбды или выражения функции и ее параметров. Не все функции в настоящее время поддерживаются, в частности, KCallable.call и KCallable.callBy в данный момент не работают.
fun <R> Function<R>.reflect(): KFunction<R>?
Наследники
Getter
Метод-геттер свойства — это get метод, объявленный вместе со свойством.
interface Getter<out V> : KProperty.Accessor<V>, KFunction<V>
Setter
Метод-сеттер свойства — это set метод, объявленный вместе со свойством.
interface Setter<V> : KProperty.Accessor<V>, KFunction<Unit>
© 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-function/index.html