| interface Base { | |
| fun foo() | |
| } | |
| var ~setter1~Int.setter1: Int = 2 | |
| set(i: Int) { | |
| field = `setter1`this@setter1 | |
| } | |
| var ~setter2~Int.setter2: Base? = null | |
| set(i: Base?) { | |
| field = object: Base { | |
| override fun foo() { | |
| `setter2`this@setter2 | |
| } | |
| } | |
| } | |
| var ~setter3~Int.setter3: Int = 1 | |
| set(i: Int) { | |
| { | |
| `setter3`this@setter3 | |
| }.invoke() | |
| } | |
| var ~setter4~Int.setter4: Int = 1 | |
| set(i: Int) { | |
| val extFun = { Int.() -> | |
| `setter4`this@setter4 | |
| } | |
| `setter4`this@setter4.extFun() | |
| } |