val test1: Any field = { // BLOCK local class { constructor() /* primary */ { super/*Any*/() /* () */ } } () } get val test2: IFoo field = { // BLOCK local class : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } override fun foo() { println(message = "foo") } } () } get class Outer { abstract inner class Inner : IFoo { constructor() /* primary */ { super/*Any*/() /* () */ } } constructor() /* primary */ { super/*Any*/() /* () */ } fun test3(): Inner { return { // BLOCK local class : Inner { constructor() /* primary */ { .super/*Inner*/() /* () */ } override fun foo() { println(message = "foo") } } () } } } interface IFoo { abstract fun foo() } fun Outer.test4(): Inner { return { // BLOCK local class : Inner { constructor() /* primary */ { .super/*Inner*/() /* () */ } override fun foo() { println(message = "foo") } } () } }