| interface Base { |
| fun foo() |
| } |
| |
| val ~getter1~Int.getter1: Int |
| get() { |
| return `getter1`this@getter1 |
| } |
| |
| val ~getter2~Int.getter2: Base |
| get() { |
| return object: Base { |
| override fun foo() { |
| `getter2`this@getter2 |
| } |
| } |
| } |
| |
| val ~getter3~Int.getter3: Base |
| get() = object: Base { |
| override fun foo() { |
| `getter3`this@getter3 |
| } |
| } |
| |
| val ~getter4~Int.getter4: Int |
| get() { |
| return { |
| `getter4`this@getter4 |
| }.invoke() |
| } |
| |
| val ~getter5~Int.getter5: Int |
| get() { |
| val extFun = { Int.() -> |
| `getter5`this@getter5 |
| } |
| return `getter5`this@getter5.extFun() |
| } |
| |
| |
| class Test { |
| val ~innerGetter1~Int.innerGetter1: Int |
| get() { |
| return `innerGetter1`this@innerGetter1 |
| } |
| } |