KaCompoundAssignOperation¶
@SubclassOptInRequired(markerClass = [KaImplementationDetail::class])
interface KaCompoundAssignOperation : KaCompoundOperation
A compound assignment that reads, computes, and writes the computed value. Calls to <op>Assign are not represented by KaCompoundAssignOperation.
Types¶
Kind¶
enum class Kind : Enum<KaCompoundAssignOperation.Kind>
Properties¶
kind¶
abstract val kind: KaCompoundAssignOperation.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¶
abstract val operationCall: KaFunctionCall<KaNamedFunctionSymbol>
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¶
inline fun KaLifetimeOwner.assertIsValidAndAccessible()
isValid¶
fun KaLifetimeOwner.isValid(): Boolean
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.