class foo { class foo { object foo { } class Bar {} fun foo() val x var f } class Bar { object foo { companion object { } private companion object { } private companion object : Fooo { } private companion object : Fooo, Bar by foo { } private companion object : Fooo, Bar by foo, Goo() } class Bar {} fun foo() val x var f } fun foo() val x var f companion object { } private companion object { } private companion object : Fooo { } private companion object : Fooo, Bar by foo { } private companion object : Fooo, Bar by foo, Goo() }