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

  }

}

class B : Java1 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

  override fun getA(): Int {
    return 12
  }

  override fun isB(): Boolean {
    return false
  }

  override fun setA(t: Int) {
    <this>.setA(t = 10)
  }

}

fun test(a: A, b: B) {
  val k: Int = a.getA()
  a.setA(t = 3)
  val k2: Boolean = a.isB()
  a.setB(t = false)
  val k3: String = a.getC() /*!! String */
  val k4: Int = b.getA()
  b.setA(t = 3)
  val k5: Boolean = b.isB()
  b.setB(t = false)
  val k6: String = b.getC() /*!! String */
}
