| operator fun Any.plusAssign(lambda: Function0<Unit>) { |
| } |
| |
| operator fun Any.get(index: Function0<Unit>): Int { |
| return 42 |
| } |
| |
| operator fun Any.set(index: Function0<Unit>, value: Int) { |
| } |
| |
| fun test1(a: Any) { |
| a.plusAssign(lambda = local fun <anonymous>() { |
| return Unit |
| } |
| ) |
| } |
| |
| fun test2(a: Any) { |
| { // BLOCK |
| val tmp0_array: Any = a |
| val tmp1_index0: Function0<Unit> = local fun <anonymous>() { |
| return Unit |
| } |
| |
| tmp0_array.set(index = tmp1_index0, value = tmp0_array.get(index = tmp1_index0).plus(other = 42)) |
| } |
| } |
| |
| fun test3(a: Any) { |
| { // BLOCK |
| val tmp0_array: Any = a |
| val tmp1_index0: Function0<Unit> = local fun <anonymous>() { |
| return Unit |
| } |
| |
| val tmp2: Int = tmp0_array.get(index = tmp1_index0) |
| tmp0_array.set(index = tmp1_index0, value = tmp2.inc()) |
| tmp2 |
| } /*~> Unit */ |
| } |