Spec-Zone.ru › Kotlin 1.9

KFunction

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

Представляет функцию с возможностями интроспекции.

Свойства

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

isExternal

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

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

isInfix

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

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

isInline

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

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

isOperator

true если эта функция operator. Дополнительную информацию см. в документации языка Kotlin по перегрузке операторов.

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

isSuspend

true если это функция приостановки.

abstract val isSuspend: Boolean

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

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

isAbstract

true если этот вызов является abstract.

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

isFinal

true если этот вызов final.

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

isOpen

true если этот вызов open.

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

isSuspend

true если это функция приостановки.

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

parameters

Параметры, необходимые для вызова этого вызова. Если этот вызов требует this экземпляра или параметра получателя расширения, они располагаются в списке в соответствии с указанным порядком.

abstract val parameters: List<KParameter>
Требования к платформе и версии: JVM (1.1)

typeParameters

Список параметров типа этого вызова.

abstract val typeParameters: List<KTypeParameter>
Требования к платформе и версии: JVM (1.1)

visibility

Видимость этого вызова, или null если его видимость не может быть представлена в Kotlin.

abstract val visibility: KVisibility?

Наследуемые функции

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

call

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

abstract fun call(vararg args: Any?): R
Требования к платформе и версии: JVM (1.0)

callBy

Вызывает этот вызов со специфицированной сопоставлением параметров к аргументам и возвращает результат. Если параметр не найден в сопоставлении и не является необязательным (как указано в KParameter.isOptional), или его тип не соответствует типу предоставленного значения, генерируется исключение.

abstract fun callBy(args: Map<KParameter, Any?>): R

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

Требования к платформе и версии: 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)

javaConstructor

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

val <T> KFunction<T>.javaConstructor: Constructor<T>?
Требования к платформе и версии: JVM (1.0)

javaMethod

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

val KFunction<*>.javaMethod: 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.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)

Getter

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

interface Getter<out V> : KProperty.Accessor<V>, KFunction<V>
Требования к платформе и версии: JVM (1.0)

Setter

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

interface Setter<V> : KProperty.Accessor<V>, KFunction<Unit>

© 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-function/index.html

Spec-Zone.ru

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