KProperty2
interface
KProperty2
<
D
,
E
,
out
V
>
:
KProperty
<
V
>
,
(
D
,
E
)
->
V
(Common source) (JVM source) (JS source) (Native source)
Represents a property, operations on which take two receivers as parameters, such as an extension property declared in a class.
Parameters
D
- the type of the first receiver. In case of the extension property in a class this is
the type of the declaring class of the property, or any subclass of that class.
E
- the type of the second receiver. In case of the extension property in a class this is
the type of the extension receiver.
Types
Getter
Getter of the property is a
get
method declared alongside the property.
interface
Getter
<
D
,
E
,
out
V
>
:
KProperty.Getter
<
V
>
,
(
D
,
E
)
->
V
Properties
getter
The getter of this property, used to obtain the value of the property.
abstract
val
getter
:
KProperty2.Getter
<
D
,
E
,
V
>
Inherited 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
Functions
get
Returns the current value of the property. In case of the extension property in a class, the instance of the class should be passed first and the instance of the extension receiver second.
abstract
fun
get
(
receiver1
:
D
,
receiver2
:
E
)
:
V
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
(
receiver1
:
D
,
receiver2
:
E
)
:
Any
?
invoke
abstract
operator
fun
invoke
(
p1
:
D
,
p2
:
E
)
:
V
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
?
getExtensionDelegate
Returns the instance of a delegated
member extension property
, or
null
if this property is not delegated.
Throws an exception if this is not an extension property.
fun
<
D
>
KProperty2
<
D
,
*
,
*
>
.
getExtensionDelegate
(
receiver
:
D
)
:
Any
?
hasAnnotation
Returns true if this element is annotated with an annotation of type T .
fun
<
T
:
Annotation
>
KAnnotatedElement
.
hasAnnotation
(
)
:
Boolean
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.
Inheritors
KMutableProperty2
Represents a
var
-property, operations on which take two receivers as parameters.
interface
KMutableProperty2
<
D
,
E
,
V
>
:
KProperty2
<
D
,
E
,
V
>
,
KMutableProperty
<
V
>