KCallable

expect interface KCallable<out R>

Represents a callable entity, such as a function or a property.

actual interface KCallable<out R> : KAnnotatedElement

Represents a callable entity, such as a function or a property.

actual interface KCallable<out R>

Represents a callable entity, such as a function or a property.

actual interface KCallable<out R> : KAnnotatedElement

Represents a callable entity, such as a function or a property.

Parameters

R

return type of the callable.

R

return type of the callable.

R

return type of the callable.

R

return type of the callable.

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.

isFinal
Link copied to clipboard
abstract val isFinal: Boolean

true if this callable is final.

isOpen
Link copied to clipboard
abstract val isOpen: Boolean

true if this callable is open.

isSuspend
Link copied to clipboard
abstract val isSuspend: Boolean

true if this is a suspending function.

name
Link copied to clipboard
expect 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:

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

KFunction
Link copied to clipboard
KProperty
Link copied to clipboard

Extensions

callSuspend
Link copied to clipboard
suspend fun <R> KCallable<R>.callSuspend(vararg args: Any?): R

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.

callSuspendBy
Link copied to clipboard
suspend fun <R> KCallable<R>.callSuspendBy(args: Map<KParameter, Any?>): R

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.

extensionReceiverParameter
Link copied to clipboard
val KCallable<*>.extensionReceiverParameter: KParameter?

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

findParameterByName
Link copied to clipboard
fun KCallable<*>.findParameterByName(name: String): KParameter?

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

instanceParameter
Link copied to clipboard
val KCallable<*>.instanceParameter: KParameter?

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.

isAccessible
Link copied to clipboard
var KCallable<*>.isAccessible: Boolean

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

valueParameters
Link copied to clipboard
val KCallable<*>.valueParameters: List<KParameter>

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