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
48 lines
702 B
Kotlin
Vendored
48 lines
702 B
Kotlin
Vendored
// FILE: test.kt
|
|
|
|
fun foo(x: Any) {
|
|
when (x) {
|
|
is Float ->
|
|
1
|
|
is Double ->
|
|
2
|
|
else ->
|
|
3
|
|
}
|
|
}
|
|
|
|
fun box() {
|
|
foo(1.2f)
|
|
foo(1.2)
|
|
foo(1)
|
|
}
|
|
|
|
// EXPECTATIONS JVM JVM_IR
|
|
// test.kt:15 box
|
|
// test.kt:4 foo
|
|
// test.kt:5 foo
|
|
// test.kt:6 foo
|
|
// test.kt:12 foo
|
|
// test.kt:16 box
|
|
// test.kt:4 foo
|
|
// test.kt:5 foo
|
|
// test.kt:7 foo
|
|
// test.kt:8 foo
|
|
// test.kt:12 foo
|
|
// test.kt:17 box
|
|
// test.kt:4 foo
|
|
// test.kt:5 foo
|
|
// test.kt:7 foo
|
|
// test.kt:10 foo
|
|
// test.kt:12 foo
|
|
// test.kt:18 box
|
|
|
|
// EXPECTATIONS JS_IR
|
|
// test.kt:15 box
|
|
// test.kt:12 foo
|
|
// test.kt:16 box
|
|
// test.kt:12 foo
|
|
// test.kt:17 box
|
|
// test.kt:12 foo
|
|
// test.kt:18 box
|