KT-12873: add temporary variables generated by delegation expression to class initializer. Fix #KT-12873

This commit is contained in:
Alexey Andreev
2016-08-26 11:35:25 +03:00
parent 1a94e2202b
commit 60a09ecb45
3 changed files with 37 additions and 2 deletions
@@ -0,0 +1,29 @@
package foo
interface C {
fun f(): String
}
class B(val value: String) : C {
override fun f() = value
}
val b: Any = B("O")
val x = B("failure1")
val y = B("K")
val z = B("failure2")
fun selector() = 2
class A : C by (b as C)
class D : C by when (selector()) {
1 -> x
2 -> y
else -> z
}
fun box(): String {
return A().f() + D().f()
}