val p: A
  field = A()
  get

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

  }

}

operator fun A.divAssign(s: String) {
}

operator fun A.minusAssign(s: String) {
}

operator fun A.plusAssign(s: String) {
}

operator fun A.remAssign(s: String) {
}

fun testProperty() {
  { // BLOCK
    plusAssign(/* <this> = <get-p>(), */ s = "+=")
  }
  { // BLOCK
    minusAssign(/* <this> = <get-p>(), */ s = "-=")
  }
  { // BLOCK
    timesAssign(/* <this> = <get-p>(), */ s = "*=")
  }
  { // BLOCK
    divAssign(/* <this> = <get-p>(), */ s = "/=")
  }
  { // BLOCK
    remAssign(/* <this> = <get-p>(), */ s = "%=")
  }
}

fun testVariable() {
  val a: A = A()
  plusAssign(/* <this> = a, */ s = "+=")
  minusAssign(/* <this> = a, */ s = "-=")
  timesAssign(/* <this> = a, */ s = "*=")
  divAssign(/* <this> = a, */ s = "/=")
  remAssign(/* <this> = a, */ s = "*=")
}

operator fun A.timesAssign(s: String) {
}

