interface KFunction<out R> : KCallable<R>, Function<R>
interface KFunction<out R> : KCallable<R>
Represents a function with introspection capabilities.
true
if this function is external
. See the Kotlin language documentation for more information.
abstract val isExternal: Boolean
true
if this function is infix
. See the Kotlin language documentation for more information.
abstract val isInfix: Boolean
true
if this function is inline
. See the Kotlin language documentation for more information.
abstract val isInline: Boolean
true
if this function is operator
. See the Kotlin language documentation for more information.
abstract val isOperator: Boolean
true
if this is a suspending function.
abstract val isSuspend: Boolean
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?
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?
Provides a way to suppress JVM access checks for a callable.
var KCallable<*>.isAccessible: Boolean
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>?
Returns parameters of this callable, excluding the this
instance and the extension receiver parameter.
val KCallable<*>.valueParameters: List<KParameter>
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
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
Returns an annotation of the given type on this element.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
Returns the parameter of this callable with the given name, or null
if there's no such parameter.
fun KCallable<*>.findParameterByName( name: String ): KParameter?
Returns true if this element is annotated with an annotation of type T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
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>?
Getter of the property is a get
method declared alongside the property.
interface Getter<out R> : Accessor<R>, KFunction<R>
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