Local declarations and initializers fixes (#222)

* captured values are stored in corresponding fields before call to super constructor

* preserving the order of initializers

* tests

* refactoring

* - test fix
- workaround of IR bug

* refactoring

* review fix
This commit is contained in:
Igor Chevdar
2017-02-08 14:52:26 +05:00
committed by GitHub
parent 7b0c0f5bfb
commit a856e16d2f
8 changed files with 111 additions and 24 deletions
@@ -0,0 +1,13 @@
class Test {
val x: Int
init {
x = 42
}
val y = x
}
fun main(args: Array<String>) {
println(Test().y)
}
@@ -0,0 +1,13 @@
class Test {
val x: Int
val y = 42
init {
x = y
}
}
fun main(args: Array<String>) {
println(Test().x)
}