FILE /augmentedAssignmentWithExpression.kt CLASS CLASS Host $this: VALUE_PARAMETER this@Host: Host CONSTRUCTOR public constructor Host() BLOCK_BODY DELEGATING_CONSTRUCTOR_CALL 'constructor Any()' INSTANCE_INITIALIZER_CALL classDescriptor='Host' FUN public final operator fun plusAssign(x: kotlin.Int): kotlin.Unit $this: VALUE_PARAMETER this@Host: Host VALUE_PARAMETER value-parameter x: kotlin.Int BLOCK_BODY FUN public final fun test1(): kotlin.Unit $this: VALUE_PARAMETER this@Host: Host BLOCK_BODY CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ $this: GET_VAR 'this@Host: Host' type=Host origin=PLUSEQ x: CONST Int type=kotlin.Int value='1' FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean $this: VALUE_PARAMETER this@Any: Any VALUE_PARAMETER value-parameter other: kotlin.Any? FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int $this: VALUE_PARAMETER this@Any: Any FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String $this: VALUE_PARAMETER this@Any: Any FUN public fun foo(): Host BLOCK_BODY RETURN type=kotlin.Nothing from='foo(): Host' CALL 'constructor Host()' type=Host origin=null FUN public fun Host.test2(): kotlin.Unit $receiver: VALUE_PARAMETER this@test2: Host BLOCK_BODY CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ $this: GET_VAR 'this@test2: Host' type=Host origin=PLUSEQ x: CONST Int type=kotlin.Int value='1' FUN public fun test3(): kotlin.Unit BLOCK_BODY CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ $this: CALL 'foo(): Host' type=Host origin=null x: CONST Int type=kotlin.Int value='1' FUN public fun test4(a: () -> Host): kotlin.Unit VALUE_PARAMETER value-parameter a: () -> Host BLOCK_BODY CALL 'plusAssign(Int): Unit' type=kotlin.Unit origin=PLUSEQ $this: CALL 'invoke(): Host' type=Host origin=INVOKE $this: GET_VAR 'value-parameter a: () -> Host' type=() -> Host origin=VARIABLE_AS_FUNCTION x: CONST Int type=kotlin.Int value='1'