Skip to content

KaCompoundAssignOperation

A compound assignment that reads, computes, and writes the computed value. Calls to <op>Assign are not represented by KaCompoundAssignOperation.

Types

Kind

Properties

kind

The kind of assignment operation (+=, -=, and so on).

operand

abstract val operand: KtExpression

The right-hand operand of the compound assignment.

As for the left-hand operand (the variable or array element expression), it is represented in the call variants, KaVariableAccessCall and KaCompoundArrayAccessCall, which contain the KaCompoundOperation.

operationCall

A call of the function that computes the value for this compound access. For example, if the access is +=, this is the plus function call. If the access is ++, this is the inc function call

token

abstract val token: KaLifetimeToken

The KaLifetimeToken which determines the lifetime of the lifetime owner.

Functions

assertIsValidAndAccessible

isValid

Whether the lifetime owner is still valid, i.e. we are still in the scope of the lifetime owner's regular lifetime.

withValidityAssertion

inline fun <R> KaLifetimeOwner.withValidityAssertion(action: () -> R): R

Executes action only if the KaLifetimeOwner is still valid and accessible. Otherwise, throws a validity exception based on the concrete violation.