79d378f2bd
The patch adopts and reuses the optimizations from the legacy backend. The optimizations remove useless temporary variables, statements and simplify generated JS code. The optimizations can be disabled by `-Xoptimize-generated-js=false`. Related to KT-51139
47 lines
626 B
Kotlin
Vendored
47 lines
626 B
Kotlin
Vendored
// FILE: test.kt
|
|
|
|
fun foo(x: Int) {
|
|
if (x > 0) {
|
|
"OK"
|
|
}
|
|
|
|
if (x > 0) else {
|
|
"OK"
|
|
}
|
|
|
|
if (x > 0) {
|
|
"OK"
|
|
} else {
|
|
"ALSO OK"
|
|
}
|
|
}
|
|
|
|
fun box() {
|
|
foo(1)
|
|
foo(0)
|
|
}
|
|
|
|
// EXPECTATIONS JVM JVM_IR
|
|
// test.kt:20 box
|
|
// test.kt:4 foo
|
|
// test.kt:5 foo
|
|
// test.kt:8 foo
|
|
// test.kt:12 foo
|
|
// test.kt:13 foo
|
|
// test.kt:17 foo
|
|
// test.kt:21 box
|
|
// test.kt:4 foo
|
|
// test.kt:8 foo
|
|
// test.kt:9 foo
|
|
// test.kt:12 foo
|
|
// test.kt:15 foo
|
|
// test.kt:17 foo
|
|
// test.kt:22 box
|
|
|
|
// EXPECTATIONS JS_IR
|
|
// test.kt:20 box
|
|
// test.kt:17 foo
|
|
// test.kt:21 box
|
|
// test.kt:17 foo
|
|
// test.kt:22 box
|