Runtime API for interoperability between Kotlin reflection and Java reflection provided by kotlin-reflect
library.
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 a Java Field instance corresponding to the backing field of the given property, or null
if the property has no backing field.
val KProperty<*>.javaField: Field?
Returns a Java Method instance corresponding to the getter of the given property, or null
if the property has no getter, for example in case of a simple private val
in a class.
val KProperty<*>.javaGetter: Method?
Returns a Java Method instance corresponding to the setter of the given mutable property, or null
if the property has no setter, for example in case of a simple private var
in a class.
val KMutableProperty<*>.javaSetter: Method?
Returns a Java Type instance corresponding to the given Kotlin type. Note that one Kotlin type may correspond to different JVM types depending on where it appears. For example, Unit corresponds to the JVM class Unit when it's the type of a parameter, or to void
when it's the return type of a function.
val KType.javaType: Type
Returns the KClass instance representing the runtime class to which this type is erased to on JVM.
val KType.jvmErasure: KClass<*>
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>?
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect.jvm/index.html