interface IFoo { abstract fun foo(): String } class K1 : JFoo { constructor() /* primary */ { super/*JFoo*/() /* () */ } } class K2 : JFoo { constructor() /* primary */ { super/*JFoo*/() /* () */ } override fun foo(): String { return super.foo() /*!! String */ } } class K3 : JUnrelatedFoo, IFoo { constructor() /* primary */ { super/*JUnrelatedFoo*/() /* () */ } } class K4 : JUnrelatedFoo, IFoo { constructor() /* primary */ { super/*JUnrelatedFoo*/() /* () */ } override fun foo(): @FlexibleNullability String? { return super.foo() } } class TestJFoo : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } private /* final field */ val $$delegate_0: JFoo = JFoo() override fun foo(): String { return .#$$delegate_0.foo() /*!! String */ } } class TestK1 : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } private /* final field */ val $$delegate_0: K1 = K1() override fun foo(): String { return .#$$delegate_0.foo() /*!! String */ } } class TestK2 : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } private /* final field */ val $$delegate_0: K2 = K2() override fun foo(): String { return .#$$delegate_0.foo() } } class TestK3 : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } private /* final field */ val $$delegate_0: K3 = K3() override fun foo(): String { return .#$$delegate_0.foo() } } class TestK4 : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } private /* final field */ val $$delegate_0: K4 = K4() override fun foo(): String { return .#$$delegate_0.foo() /*!! String */ } }