36 lines
544 B
Kotlin
Vendored
36 lines
544 B
Kotlin
Vendored
// EXPECTED_REACHABLE_NODES: 1289
|
|
// http://youtrack.jetbrains.com/issue/KT-4225
|
|
// Compiler to JavaScript produces semantically wrong code
|
|
|
|
package foo
|
|
|
|
var i = 0
|
|
var j = 0
|
|
|
|
var global: String = ""
|
|
|
|
fun incI(){
|
|
i++
|
|
}
|
|
|
|
fun incJ(a: Any){
|
|
j++
|
|
}
|
|
|
|
fun foo(f: () -> Unit) = f
|
|
|
|
fun box(): String {
|
|
val bar = 1
|
|
|
|
val f = foo {
|
|
incI()
|
|
incJ(if (bar == 2) "A" else "B")
|
|
}
|
|
|
|
global +="i = $i, j = $j"
|
|
f()
|
|
global +=" : i = $i, j = $j"
|
|
assertEquals("i = 0, j = 0 : i = 1, j = 1", global)
|
|
|
|
return "OK"
|
|
} |