A new kind of synthetic accessors for backing fields, if accessed inside lambda / object literal / local class #KT-9657 Fixed

A set of tests provided
Also #KT-4867 Fixed
Also #KT-8750 Fixed
Slight codegen refactoring
This commit is contained in:
Mikhail Glukhikh
2015-10-21 12:06:21 +03:00
parent ccad435850
commit 4b6cb3ebce
18 changed files with 298 additions and 73 deletions
@@ -0,0 +1,18 @@
class My {
var my: String = "U"
get() = { field }()
set(arg) {
class Local {
fun foo() {
field = arg + "K"
}
}
Local().foo()
}
}
fun box(): String {
val m = My()
m.my = "O"
return m.my
}