open class A { lateinit var b: Number get set companion object Companion { private constructor() /* primary */ { super/*Any*/() /* () */ } const val a: Int field = 0 get } constructor() /* primary */ { super/*Any*/() /* () */ } } class B : Java1 { constructor() /* primary */ { super/*Java1*/() /* () */ } } class C : A, Java2 { constructor() /* primary */ { super/*A*/() /* () */ } } abstract class D : A, Java3 { constructor() /* primary */ { super/*A*/() /* () */ } } interface KotlinInterface { abstract var a: Int abstract get abstract set abstract var b: Number abstract get abstract set } fun test(b: B, c: C, d: D) { b.( = 3) b.() /*~> Unit */ c.( = 4) c.() /*~> Unit */ d.( = 2) d.( = 7) d.() /*~> Unit */ d.() /*~> Unit */ }