Refactor JS translator to generate code for new inliner

This commit is contained in:
Alexey Andreev
2017-06-27 18:55:34 +03:00
parent 29857e48c8
commit 7c421b0b83
37 changed files with 771 additions and 211 deletions
@@ -0,0 +1,21 @@
// MODULE: lib
// FILE: lib.kt
fun baz(x: String) = "($x)"
inline fun foo(): String {
return baz(bar { "OK" })
}
inline fun bar(noinline x: () -> String): String {
return "[" + baz(boo { x() }) + "]"
}
fun boo(x: () -> String) = x()
// MODULE: main(lib)
// FILE: main.kt
fun box(): String {
val result = foo()
if (result != "([(OK)])") return "fail: $result"
return "OK"
}