KFunction

actual interface KFunction<out R> : KCallable<R> , Function<R> (source)

Represents a function with introspection capabilities.

Since Kotlin

1.0

Functions

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.

Since Kotlin 1.0
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.

Since Kotlin 1.0

Properties

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

Annotations which are present on this element.

Since Kotlin 1.0
Link copied to clipboard
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:

Since Kotlin 1.0
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.

Since Kotlin 1.0
Link copied to clipboard
abstract val returnType: KType

The type of values returned by this callable.

Since Kotlin 1.0

Inheritors

Link copied to clipboard
Link copied to clipboard

Extensions

Link copied to clipboard

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

Since Kotlin 1.0
Link copied to clipboard

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.

Since Kotlin 1.0
Link copied to clipboard

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.

Since Kotlin 1.0
Link copied to clipboard
@ExperimentalReflectionOnLambdas
fun <R> Function<R>.reflect(): KFunction<R>?

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.

Since Kotlin 1.0