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