var operationScore: Int field = 0 get set data class Result { var i: Int field = i get set constructor(i: Int) /* primary */ { super/*Any*/() /* () */ } operator fun component1(): Int { return .#i } fun copy(i: Int = .#i): Result { return Result(i = i) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Result -> return false } val tmp_0: Result = other as Result when { EQEQ(arg0 = .#i, arg1 = tmp_0.#i).not() -> return false } return true } override fun hashCode(): Int { return .#i.hashCode() } override fun toString(): String { return "Result(" + "i=" + .#i + ")" } } fun box(): String { val result: Result = Result(i = 0) with(receiver = 1, block = local fun Int.() { result.plusAssign($context_receiver_0 = $this$with, other = Result(i = 1).plus($context_receiver_0 = $this$with, other = Result(i = 1))) result.minusAssign($context_receiver_0 = $this$with, other = Result(i = 1).minus($context_receiver_0 = $this$with, other = Result(i = 0))) result.timesAssign($context_receiver_0 = $this$with, other = Result(i = 1).times($context_receiver_0 = $this$with, other = Result(i = 2))) result.divAssign($context_receiver_0 = $this$with, other = Result(i = 4).div($context_receiver_0 = $this$with, other = Result(i = 2))) } ) return when { when { EQEQ(arg0 = result.(), arg1 = 1) -> EQEQ(arg0 = (), arg1 = 8) else -> false } -> "OK" else -> "fail" } } operator fun Result.div($context_receiver_0: Int, other: Result): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().div(other = other.())) } operator fun Result.divAssign($context_receiver_0: Int, other: Result) { { // BLOCK ( = ().plus(other = $context_receiver_0)) } { // BLOCK val tmp_1: Result = tmp_1.( = tmp_1.().div(other = other.())) } } operator fun Result.minus($context_receiver_0: Int, other: Result): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().minus(other = other.())) } operator fun Result.minusAssign($context_receiver_0: Int, other: Result) { { // BLOCK ( = ().plus(other = $context_receiver_0)) } { // BLOCK val tmp_2: Result = tmp_2.( = tmp_2.().minus(other = other.())) } } operator fun Result.plus($context_receiver_0: Int, other: Result): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().plus(other = other.())) } operator fun Result.plusAssign($context_receiver_0: Int, other: Result) { { // BLOCK ( = ().plus(other = $context_receiver_0)) } { // BLOCK val tmp_3: Result = tmp_3.( = tmp_3.().plus(other = other.())) } } operator fun Result.times($context_receiver_0: Int, other: Result): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().times(other = other.())) } operator fun Result.timesAssign($context_receiver_0: Int, other: Result) { { // BLOCK ( = ().plus(other = $context_receiver_0)) } { // BLOCK val tmp_4: Result = tmp_4.( = tmp_4.().times(other = other.())) } }