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

  }

}

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

  }

}

fun test(a: A, b: B) {
  val k: Nothing = a.#a /*!! Nothing */
  val k2: Nothing = a.bar() /*!! Nothing */
  val k3: Unit = a.foo(t = k)
  val k4: Nothing? = b.#a
  val k5: Nothing? = b.bar()
  val k6: Unit = b.foo(t = k)
}
