KFunction

expect interface KFunction<out R> : KCallable<R> , Function<R>

Represents a function with introspection capabilities.

actual interface KFunction<out R> : KCallable<R> , Function<R>

Represents a function with introspection capabilities.

actual interface KFunction<out R> : KCallable<R> , Function<R>

Represents a function with introspection capabilities.

actual interface KFunction<out R> : KCallable<R> , Function<R>

Functions

call
Link copied to clipboard
abstract fun call(vararg args: Any?): R

Calls this callable with the specified list of arguments and returns the result. Throws an exception if the number of specified arguments is not equal to the size of parameters, or if their types do not match the types of the parameters.

callBy
Link copied to clipboard
abstract fun callBy(args: Map<KParameter, Any?>): R

Calls this callable with the specified mapping of parameters to arguments and returns the result. If a parameter is not found in the mapping and is not optional (as per KParameter.isOptional), or its type does not match the type of the provided value, an exception is thrown.

Properties

annotations
Link copied to clipboard
abstract val annotations: List<Annotation>

Annotations which are present on this element.

isAbstract
Link copied to clipboard
abstract val isAbstract: Boolean

true if this callable is abstract.

isExternal
Link copied to clipboard
abstract val isExternal: Boolean

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

isFinal
Link copied to clipboard
abstract val isFinal: Boolean

true if this callable is final.

isInfix
Link copied to clipboard
abstract val isInfix: Boolean

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

isInline
Link copied to clipboard
abstract val isInline: Boolean

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

isOpen
Link copied to clipboard
abstract val isOpen: Boolean

true if this callable is open.

isOperator
Link copied to clipboard
abstract val isOperator: Boolean

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

isSuspend
Link copied to clipboard
abstract override val isSuspend: Boolean

true if this is a suspending function.

name
Link copied to clipboard
expect abstract val name: String
actual abstract val name: String

The name of this callable as it was declared in the source code. If the callable has no name, a special invented name is created. Nameless callables include:

actual abstract val name: String

The name of this callable as it was declared in the source code. If the callable has no name, a special invented name is created. Nameless callables include:

actual abstract val name: String

The name of this callable as it was declared in the source code. If the callable has no name, a special invented name is created. Nameless callables include:

parameters
Link copied to clipboard
abstract val parameters: List<KParameter>

Parameters required to make a call to this callable. If this callable requires a this instance or an extension receiver parameter, they come first in the list in that order.

returnType
Link copied to clipboard
abstract val returnType: KType

The type of values returned by this callable.

returnType
Link copied to clipboard
abstract val returnType: KType

The type of values returned by this callable.

typeParameters
Link copied to clipboard
abstract val typeParameters: List<KTypeParameter>

The list of type parameters of this callable.

visibility
Link copied to clipboard
abstract val visibility: KVisibility?

Visibility of this callable, or null if its visibility cannot be represented in Kotlin.

Inheritors

Getter
Link copied to clipboard
Setter
Link copied to clipboard

Extensions

javaConstructor
Link copied to clipboard
val <T> KFunction<T>.javaConstructor: Constructor<T>?

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.

javaMethod
Link copied to clipboard
val KFunction<*>.javaMethod: Method?

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.