KProperty
interface KProperty<out R> : KCallable<R>
Represents a property, such as a named val
or var
declaration.
Instances of this class are obtainable by the ::
operator.
See the Kotlin language documentation for more information.
Parameters
Types
Accessor
Represents a property accessor, which is a get
or set
method declared alongside the property.
See the Kotlin language documentation
for more information.
interface Accessor<out R>
Properties
getter
The getter of this property, used to obtain the value of the property.
abstract val getter: Getter<R>
isConst
true
if this property is const
.
See the Kotlin language documentation
for more information.
abstract val isConst: Boolean
isLateinit
true
if this property is lateinit
.
See the Kotlin language documentation
for more information.
abstract val isLateinit: Boolean
Extension Properties
extensionReceiverParameter
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?
instanceParameter
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?
isAccessible
Provides a way to suppress JVM access checks for a callable.
var KCallable<*>.isAccessible: Boolean
valueParameters
Returns parameters of this callable, excluding the this
instance and the extension receiver parameter.
val KCallable<*>.valueParameters: List<KParameter>
Extension Functions
callSuspend
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
callSuspendBy
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
findAnnotation
Returns an annotation of the given type on this element.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
findParameterByName
Returns the parameter of this callable with the given name, or null
if there's no such parameter.
fun KCallable<*>.findParameterByName(
name: String
): KParameter?
hasAnnotation
Returns true if this element is annotated with an annotation of type T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Inheritors
KMutableProperty
Represents a property declared as a var
.
interface KMutableProperty<R> : KProperty<R>
KProperty0
Represents a property without any kind of receiver. Such property is either originally declared in a receiverless context such as a package, or has the receiver bound to it.
interface KProperty0<out R> : KProperty<R>, () -> R
KProperty1
Represents a property, operations on which take one receiver as a parameter.
interface KProperty1<T, out R> : KProperty<R>, (T) -> R