interface P class A { class B { fun test() { class C() : PT> { companion object : P<W, T> { } inner class D : PT> } } } }