JS: when translating content of js() function, rename all free references if they point to Kotlin local variable with the same name. See KT-15212

This commit is contained in:
Alexey Andreev
2016-12-16 17:32:59 +03:00
committed by Alexey Andreev
parent 5ee61702ee
commit 22ff7c6c45
12 changed files with 243 additions and 40 deletions
@@ -0,0 +1,20 @@
package foo
// CHECK_CONTAINS_NO_CALLS: test
internal inline fun sum(x: Int, y: Int): Int = js("var a = x; a + y")
internal fun test(x: Int, y: Int): Int {
val xx = sum(x, x)
js("var a = 0;")
val yy = sum(y, y)
return sum(xx, yy)
}
fun box(): String {
assertEquals(4, test(1, 1))
assertEquals(8, test(1, 3))
return "OK"
}