var operationScore: Int field = 0 get set data class MyContainer { var i: Int field = i get set constructor(i: Int) /* primary */ { super/*Any*/() /* () */ } operator fun component1(): Int { return .#i } fun copy(i: Int = .#i): MyContainer { return MyContainer(i = i) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is MyContainer -> return false } val tmp_0: MyContainer = other as MyContainer 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 "MyContainer(" + "i=" + .#i + ")" } } fun box(): String { var myContainer: MyContainer = MyContainer(i = 0) with(receiver = 1, block = local fun Int.() { myContainer.plusAssign($context_receiver_0 = $this$with, other = MyContainer(i = { // BLOCK val tmp_1: MyContainer = myContainer myContainer = tmp_1.inc($context_receiver_0 = $this$with) tmp_1 }.get($context_receiver_0 = $this$with, index = 0))) } ) return when { when { EQEQ(arg0 = myContainer.(), arg1 = 1) -> EQEQ(arg0 = (), arg1 = 3) else -> false } -> "OK" else -> "fail" } } operator fun MyContainer.get($context_receiver_0: Int, index: Int): Int { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return when { EQEQ(arg0 = index, arg1 = 0) -> .() else -> -1 } } operator fun MyContainer.inc($context_receiver_0: Int): MyContainer { { // BLOCK ( = ().plus(other = $context_receiver_0)) } return MyContainer(i = .().plus(other = 1)) } operator fun MyContainer.plusAssign($context_receiver_0: Int, other: MyContainer) { { // BLOCK ( = ().plus(other = $context_receiver_0)) } { // BLOCK val tmp_2: MyContainer = tmp_2.( = tmp_2.().plus(other = other.())) } }