trait B { public val foo: String } class D: B { public override val foo: String get() { return "D" } }