W3cubDocs

/Kotlin

KFunction

Platform and version requirements: JVM (1.0), JS (1.1)
interface KFunction<out R> : KCallable<R>, Function<R>
Platform and version requirements: Native (1.3)
interface KFunction<out R> : KCallable<R>

Represents a function with introspection capabilities.

Properties

Platform and version requirements: JVM (1.1), JS (1.1)

isExternal

true if this function is external. See the Kotlin language documentation for more information.

abstract val isExternal: Boolean
Platform and version requirements: JVM (1.1), JS (1.1)

isInfix

true if this function is infix. See the Kotlin language documentation for more information.

abstract val isInfix: Boolean
Platform and version requirements: JVM (1.1), JS (1.1)

isInline

true if this function is inline. See the Kotlin language documentation for more information.

abstract val isInline: Boolean
Platform and version requirements: JVM (1.1), JS (1.1)

isOperator

true if this function is operator. See the Kotlin language documentation for more information.

abstract val isOperator: Boolean
Platform and version requirements: JVM (1.1), JS (1.1)

isSuspend

true if this is a suspending function.

abstract val isSuspend: Boolean

Extension Properties

Platform and version requirements: JVM (1.1)

extensionReceiverParameter

Returns a parameter representing the extension receiver instance needed to call this callable, or null if this callable is not an extension.

val KCallable<*>.extensionReceiverParameter: KParameter?
Platform and version requirements: JVM (1.1)

instanceParameter

Returns a parameter representing the this instance needed to call this callable, or null if this callable is not a member of a class and thus doesn't take such parameter.

val KCallable<*>.instanceParameter: KParameter?
Platform and version requirements: JVM (1.0)

isAccessible

Provides a way to suppress JVM access checks for a callable.

var KCallable<*>.isAccessible: Boolean
Platform and version requirements: JVM (1.0)

javaConstructor

Returns a Java Constructor instance corresponding to the given Kotlin function, or null if this function is not a constructor or cannot be represented by a Java Constructor.

val <T> KFunction<T>.javaConstructor: Constructor<T>?
Platform and version requirements: JVM (1.0)

javaMethod

Returns a Java Method instance corresponding to the given Kotlin function, or null if this function is a constructor or cannot be represented by a Java Method.

val KFunction<*>.javaMethod: Method?
Platform and version requirements: JVM (1.1)

valueParameters

Returns parameters of this callable, excluding the this instance and the extension receiver parameter.

val KCallable<*>.valueParameters: List<KParameter>

Extension Functions

Platform and version requirements: JVM (1.3)

callSuspend

Calls a callable in the current suspend context. If the callable is not a suspend function, behaves as KCallable.call. Otherwise, calls the suspend function with current continuation.

suspend fun <R> KCallable<R>.callSuspend(
    vararg args: Any?
): R
Platform and version requirements: JVM (1.3)

callSuspendBy

Calls a callable in the current suspend context. If the callable is not a suspend function, behaves as KCallable.callBy. Otherwise, calls the suspend function with current continuation.

suspend fun <R> KCallable<R>.callSuspendBy(
    args: Map<KParameter, Any?>
): R
Platform and version requirements: JVM (1.1)

findAnnotation

Returns an annotation of the given type on this element.

fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
Platform and version requirements: JVM (1.1)

findParameterByName

Returns the parameter of this callable with the given name, or null if there's no such parameter.

fun KCallable<*>.findParameterByName(
    name: String
): KParameter?
Platform and version requirements: JVM (1.3)

hasAnnotation

Returns true if this element is annotated with an annotation of type T.

fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Platform and version requirements: JVM (1.0)

reflect

This is an experimental API. Given a class for a compiled Kotlin lambda or a function expression, returns a KFunction instance providing introspection capabilities for that lambda or function expression and its parameters. Not all features are currently supported, in particular KCallable.call and KCallable.callBy will fail at the moment.

fun <R> Function<R>.reflect(): KFunction<R>?

Inheritors

Platform and version requirements: JVM (1.0), JS (1.0)

Getter

Getter of the property is a get method declared alongside the property.

interface Getter<out R> : Accessor<R>, KFunction<R>
Platform and version requirements: JVM (1.0), JS (1.0)

Setter

Setter of the property is a set method declared alongside the property.

interface Setter<R> : Accessor<R>, KFunction<Unit>

© 2010–2019 JetBrains s.r.o.
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-function/index.html