open class Base {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  open fun foo() {
  }

  open val bar: String
    field = ""
    open get

}

interface BaseI {
  abstract fun foo()
  abstract val bar: String
    abstract get

}

class Derived : Base, BaseI {
  constructor() /* primary */ {
    super/*Base*/()
    /* <init>() */

  }

  override fun foo() {
    super.foo()
  }

  override val bar: String
    override get(): String {
      return super.<get-bar>()
    }

}
