class A {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

}

operator fun A.get(vararg xs: Int): Int {
  return 0
}

operator fun A.set(i: Int, j: Int, v: Int) {
}

fun testSimpleAssignment(a: A) {
  a.set(i = 1, j = 2, v = 0)
}

fun testPostfixIncrement(a: A): Int {
  return { // BLOCK
    val tmp0_array: A = a
    val tmp1_index0: Int = 1
    val tmp2_index1: Int = 2
    val tmp3: Int = tmp0_array.get(xs = [tmp1_index0, tmp2_index1])
    tmp0_array.set(i = tmp1_index0, j = tmp2_index1, v = tmp3.inc())
    tmp3
  }
}

fun testCompoundAssignment(a: A) {
  { // BLOCK
    val tmp0_array: A = a
    val tmp1_index0: Int = 1
    val tmp2_index1: Int = 2
    tmp0_array.set(i = tmp1_index0, j = tmp2_index1, v = tmp0_array.get(xs = [tmp1_index0, tmp2_index1]).plus(other = 10))
  }
}
