interface P class A { class B { fun test() { class C() : P { companion object : P { } inner class D : P } } } }