abstract class CFoo<T : Any?> {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  fun foo(x: T) {
  }

}

class Test1 : CFoo<String>, IBar, IFooStr {
  override val bar: Int
    field = 42
    override get

  constructor() /* primary */ {
    super/*CFoo*/<String>()
    /* <init>() */

  }

}

interface IBar {
  abstract val bar: Int
    abstract get

}

interface IFooStr {
  abstract fun foo(x: String)

}

