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:
@@ -0,0 +1,25 @@
|
||||
abstract class WaitFor {
|
||||
init {
|
||||
condition()
|
||||
}
|
||||
|
||||
abstract fun condition(): Boolean;
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val local = ""
|
||||
var result = "fail"
|
||||
val s = object : WaitFor() {
|
||||
|
||||
override fun condition(): Boolean {
|
||||
result = "OK"
|
||||
return result.length == 2
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
Reference in New Issue
Block a user