class foo { class foo { object foo { } class Bar {} fun foo() val x var f type foo = bar this() : this(a, b, c), Foo(bar) } class Bar { object foo { class object { } private class object { } private class object : Fooo { } private class object : Fooo, Bar by foo { } private class object : Fooo, Bar by foo, Goo() } class Bar {} fun foo() val x var f type foo = bar this() : this(a, b, c), Foo(bar) } fun foo() val x var f type foo = bar this() : this(a, b, c), Foo(bar) this() : this(a, b, c), Foo(bar) { } class object { } private class object { } private class object : Fooo { } private class object : Fooo, Bar by foo { } private class object : Fooo, Bar by foo, Goo() }