class foo { class foo { object foo { } class Bar {} fun foo() val x var f typealias foo = bar } 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 typealias foo = bar } fun foo() val x var f typealias foo = bar companion object { } private companion object { } private companion object : Fooo { } private companion object : Fooo, Bar by foo { } private companion object : Fooo, Bar by foo, Goo() }