JS: optimize default arguments in cross-module inliner

This reduces size of circlet UI (of approx 2.5 mb) by about 90 kb
This commit is contained in:
Alexey Andreev
2017-09-13 16:47:46 +03:00
parent e6ab3dc936
commit ee4d790f43
4 changed files with 52 additions and 1 deletions
@@ -0,0 +1,17 @@
// EXPECTED_REACHABLE_NODES: 1018
// MODULE: lib
// FILE: lib.kt
inline fun foo(x: String = "x", y: String = "y") = x + y
// MODULE: main(lib)
// FILE: main.kt
// CHECK_VARS_COUNT: function=test count=0
fun test() = foo() + ";" + foo(x = "X") + ";" + foo(y = "Y") + ";" + foo(x = "X", y = "Y")
fun box(): String {
val r = test()
if (test() != "xy;Xy;xY;XY") return "fail: $r"
return "OK"
}