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

  }

}

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

  }

}

fun test(a: A, b: B) {
  a.getA() /*~> Unit */
  a.setA(t = null)
  a.isB() /*~> Unit */
  a.setB(t = null)
  a.getC() /*~> Unit */
  a.setD(t = null)
  b.getA() /*~> Unit */
  b.setA(t = true)
  b.isB() /*~> Unit */
  b.setB(t = true)
  b.getC() /*~> Unit */
  b.setD(t = true)
}
