KProperty
interface
KProperty
<
out
V
>
:
KCallable
<
V
>
(Common source) (JVM source) (JS source) (Native source)
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
V
>
Getter
Getter of the property is a
get
method declared alongside the property.
interface
Getter
<
out
V
>
:
KProperty.Accessor
<
V
>
,
KFunction
<
V
>
Properties
getter
The getter of this property, used to obtain the value of the property.
abstract
val
getter
:
KProperty.Getter
<
V
>
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
Inherited Properties
isAbstract
true
if this callable is
abstract
.
abstract
val
isAbstract
:
Boolean
isFinal
true
if this callable is
final
.
abstract
val
isFinal
:
Boolean
isOpen
true
if this callable is
open
.
abstract
val
isOpen
:
Boolean
isSuspend
true
if this is a suspending function.
abstract
val
isSuspend
:
Boolean
parameters
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.
abstract
val
parameters
:
List
<
KParameter
>
typeParameters
The list of type parameters of this callable.
abstract
val
typeParameters
:
List
<
KTypeParameter
>
visibility
Visibility of this callable, or
null
if its visibility cannot be represented in Kotlin.
abstract
val
visibility
:
KVisibility
?
Inherited Functions
call
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.
abstract
fun
call
(
vararg
args
:
Any
?
)
:
R
callBy
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.
abstract
fun
callBy
(
args
:
Map
<
KParameter
,
Any
?
>
)
:
R
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
?
findAnnotations
Returns all annotations of the given type on this element, including individually applied annotations as well as repeated annotations.
fun
<
T
:
Annotation
>
KAnnotatedElement
.
findAnnotations
(
)
:
List
<
T
>
fun
<
T
:
Annotation
>
KAnnotatedElement
.
findAnnotations
(
klass
:
KClass
<
T
>
)
:
List
<
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
<
V
>
:
KProperty
<
V
>
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
V
>
:
KProperty
<
V
>
,
(
)
->
V
KProperty1
Represents a property, operations on which take one receiver as a parameter.
interface
KProperty1
<
T
,
out
V
>
:
KProperty
<
V
>
,
(
T
)
->
V
KProperty2
Represents a property, operations on which take two receivers as parameters, such as an extension property declared in a class.
interface
KProperty2
<
D
,
E
,
out
V
>
:
KProperty
<
V
>
,
(
D
,
E
)
->
V