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

  }

}

object B {
  private constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  operator fun A.component1(): Int {
    return 1
  }

  operator fun A.component2(): Int {
    return 2
  }

  operator fun A.component3(): Int {
    return 3
  }

}

fun B.test() {
  // COMPOSITE {
  val tmp_0: A = A
  val x: Int = <this>.component1(/* <this> = tmp_0 */)
  val z: Int = <this>.component3(/* <this> = tmp_0 */)
  // }
}

