W3cubDocs

/Kotlin

KProperty1

Platform and version requirements: JVM (1.0), JS (1.1), Native (1.3)
interface KProperty1<T, out V> : KProperty<V>, (T) -> V

Represents a property, operations on which take one receiver as a parameter.

Parameters

T - the type of the receiver which should be used to obtain the value of the property.

V - the type of the property value.

Types

Platform and version requirements: JVM (1.0)

Getter

Getter of the property is a get method declared alongside the property.

interface Getter<T, out V> : KProperty.Getter<V>, (T) -> V

Properties

Platform and version requirements: JVM (1.0)

getter

The getter of this property, used to obtain the value of the property.

abstract val getter: KProperty1.Getter<T, V>

Inherited Properties

Platform and version requirements: JVM (1.1)

isConst

true if this property is const. See the Kotlin language documentation for more information.

abstract val isConst: Boolean
Platform and version requirements: JVM (1.1)

isLateinit

true if this property is lateinit. See the Kotlin language documentation for more information.

abstract val isLateinit: Boolean

Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

get

Returns the current value of the property.

abstract fun get(receiver: T): V
Platform and version requirements: JVM (1.1)

getDelegate

Returns the value of the delegate if this is a delegated property, or null if this property is not delegated. See the Kotlin language documentation for more information.

abstract fun getDelegate(receiver: T): Any?
Platform and version requirements: Native (1.3)

invoke

abstract operator fun invoke(p1: T): V

Extension Properties

Platform and version requirements: JVM (1.1)

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?
Platform and version requirements: JVM (1.1)

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?
Platform and version requirements: JVM (1.0)

isAccessible

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

var KCallable<*>.isAccessible: Boolean
Platform and version requirements: JVM (1.0)

javaField

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?
Platform and version requirements: JVM (1.0)

javaGetter

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?
Platform and version requirements: JVM (1.1)

valueParameters

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

val KCallable<*>.valueParameters: List<KParameter>

Extension Functions

Platform and version requirements: JVM (1.3)

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
Platform and version requirements: JVM (1.3)

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
Platform and version requirements: JVM (1.1)

findAnnotation

Returns an annotation of the given type on this element.

fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
Platform and version requirements: JVM (1.1)

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?
Platform and version requirements: JVM (1.1)

getExtensionDelegate

Returns the instance of a delegated extension property, or null if this property is not delegated. Throws an exception if this is not an extension property.

fun KProperty1<*, *>.getExtensionDelegate(): Any?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

getValue

An extension operator that allows delegating a read-only member or extension property of type V to a property reference to a member or extension property of type V or its subtype.

operator fun <T, V> KProperty1<T, V>.getValue(
    thisRef: T, 
    property: KProperty<*>
): V
Platform and version requirements: JVM (1.4)

hasAnnotation

Returns true if this element is annotated with an annotation of type T.

fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
Platform and version requirements: JVM (1.0)

reflect

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>?

Inheritors

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

KMutableProperty1

Represents a var-property, operations on which take one receiver as a parameter.

interface KMutableProperty1<T, V> : 
    KProperty1<T, V>, 
    KMutableProperty<V>

© 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/-k-property1/index.html