JS backend: fix translation when statement -- now WhenTranslator returns JsBlock instead of hackish adding statements to context block.
It fixed the compiler crashing when translating `for`/`when`/`if` with `when` statement(KT-5234) and KT-5058. #KT-5234 fixed #EA-57346 fixed #KT-5058 fixed
This commit is contained in:
committed by
Zalim Bashorov
parent
a94f12d8fe
commit
209315baad
@@ -0,0 +1,25 @@
|
||||
package foo
|
||||
|
||||
fun test():Any {
|
||||
val a: Any = "OK"
|
||||
val f: Any =
|
||||
if (true) {
|
||||
when {
|
||||
false -> "1"
|
||||
((a as? String)?.size ?: 0 > 0) -> a
|
||||
else -> "2"
|
||||
}
|
||||
}
|
||||
else {
|
||||
"3"
|
||||
|
||||
}
|
||||
|
||||
return f
|
||||
}
|
||||
|
||||
fun box(): Boolean {
|
||||
var result = test()
|
||||
return result == "OK";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user