Fix module re-importing when inlining functions in JS BE

When inliner reads function's body from other module, it performs
substitution _ -> moduleAlias. However, local alias can't be used
for this purpose, since call site can be in public inline function
itself, so the correct substitution would be -> _.$$imports$$.alias
This commit is contained in:
Alexey Andreev
2017-07-10 19:43:05 +03:00
parent cc4e55b829
commit 7634673213
5 changed files with 80 additions and 63 deletions
@@ -0,0 +1,16 @@
// EXPECTED_REACHABLE_NODES: 490
// MODULE: lib1
// FILE: lib1.kt
inline fun foo() = bar()
fun bar() = "OK"
// MODULE: lib2(lib1)
// FILE: lib2.kt
inline fun baz() = foo()
// MODULE: main(lib2)
// FILE: main.kt
fun box() = baz()