open class Base { open val bar: String field = "" open get constructor() /* primary */ { super/*Any*/() /* () */ } open fun foo() { } } class Derived : Base, BaseI { constructor() /* primary */ { super/*Base*/() /* () */ } override fun foo() { super.foo() } override val bar: String override get(): String { return super.() } } interface BaseI { abstract fun foo() abstract val bar: String abstract get }