var operationScore: Int field = 0 get set data class Result { val i: Int field = i get 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 { var result: Result = Result(i = 0) with(receiver = 1, block = local fun Int.(): Result { { // BLOCK val tmp_1: Result = result result = tmp_1.inc($context_receiver_0 = $this$with) tmp_1 } /*~> Unit */ { // BLOCK val tmp_2: Result = result result = tmp_2.inc($context_receiver_0 = $this$with) tmp_2 } /*~> Unit */ result.unaryMinus($context_receiver_0 = $this$with) /*~> Unit */ result.unaryPlus($context_receiver_0 = $this$with) /*~> Unit */ return { // BLOCK val tmp_3: Result = result result = tmp_3.dec($context_receiver_0 = $this$with) tmp_3 } } ) /*~> Unit */ return when { when { EQEQ(arg0 = result.(), arg1 = 1) -> EQEQ(arg0 = (), arg1 = 5) else -> false } -> "OK" else -> "fail" } } operator fun Result.dec($context_receiver_0: Int): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().minus(other = 1)) } operator fun Result.inc($context_receiver_0: Int): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().plus(other = 1)) } operator fun Result.unaryMinus($context_receiver_0: Int): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = .().unaryMinus()) } operator fun Result.unaryPlus($context_receiver_0: Int): Result { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return Result(i = when { less(arg0 = .(), arg1 = 0) -> .().unaryMinus() else -> .() }) }