JS BE: expose imported modules via $$importsForInline$$ property

... and use it as prefix to FQN in inline functions. This allows
to properly inline function declared in module A to module B,
when this function calls another function in module C.

See KT-18201
This commit is contained in:
Alexey Andreev
2017-05-31 17:49:25 +03:00
parent 978661c53d
commit 1df6f2f9a0
13 changed files with 346 additions and 50 deletions
@@ -0,0 +1,15 @@
// EXPECTED_REACHABLE_NODES: 489
// MODULE: lib1
// FILE: lib1.kt
fun foo() = "OK"
// MODULE: lib2(lib1)
// FILE: lib2.kt
inline fun bar() = foo()
// MODULE: main(lib1, lib2)
// FILE: main.kt
fun box() = bar()