package test public interface A { public abstract fun foo(): T } public open class B : test.A { public constructor B() public open fun foo(): kotlin.Int? } public abstract class C : test.A { public constructor C() public abstract /*fake_override*/ fun foo(): kotlin.Int? } public/*package*/ open class ExtendsB : test.B { public/*package*/ constructor ExtendsB() public open /*fake_override*/ fun foo(): kotlin.Int? public/*package*/ open fun test(): kotlin.Unit } public/*package*/ open class ExtendsC : test.C { public/*package*/ constructor ExtendsC() public open fun foo(): kotlin.Int? public/*package*/ open fun test(): kotlin.Unit }