interface IFooStr {
  abstract fun foo(x: String)

}

interface IBar {
  abstract val bar: Int
    abstract get

}

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

  }

  fun foo(x: T) {
  }

}

class Test1 : CFoo<String>, IFooStr, IBar {
  constructor() /* primary */ {
    super/*CFoo*/<String>()
    /* <init>() */

  }

  override val bar: Int
    field = 42
    override get

}
