[JS IR] Make tests that use directives pass with IR BE

This commit is contained in:
Sergej Jaskiewicz
2021-10-04 20:44:06 +03:00
committed by Space
parent a359e503fb
commit 65d40c2253
101 changed files with 415 additions and 217 deletions
@@ -22,7 +22,7 @@ inline fun Baz.call(a: Int) = "Baz.call($a)"
// MODULE: main(lib)
// FILE: main.kt
// CHECK_CONTAINS_NO_CALLS: box except=equals
// CHECK_CONTAINS_NO_CALLS: box except=equals TARGET_BACKENDS=JS
fun box(): String {
var result = call(1)
@@ -13,7 +13,10 @@ public fun <T, R> apply(x: T, fn: (T)->R): R =
import utils.*
// CHECK_CONTAINS_NO_CALLS: test except=imul
// CHECK_CONTAINS_NO_CALLS: test except=imul TARGET_BACKENDS=JS
// FIXME: Not inlined on IR BE
// CHECK_CONTAINS_NO_CALLS: test except=multiplyBy2 IGNORED_BACKENDS=JS
internal inline fun multiplyBy2(x: Int): Int = x * 2
@@ -23,4 +26,4 @@ fun box(): String {
assertEquals(6, test(3))
return "OK"
}
}
@@ -10,6 +10,7 @@ inline fun foo() = O.bar()
// MODULE: main(lib)
// FILE: main.kt
// CHECK_CONTAINS_NO_CALLS: box except=bar
// CHECK_CONTAINS_NO_CALLS: box except=bar TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: box except=bar_0_k$;O_getInstance; IGNORED_BACKENDS=JS
fun box() = foo()
fun box() = foo()
+1 -1
View File
@@ -28,7 +28,7 @@ class M1 : M2(), M3
// MODULE: main(m1, m2, m3)
// FILE: main.kt
// CHECK_CONTAINS_NO_CALLS: box except=equals;getKClass
// CHECK_CONTAINS_NO_CALLS: box except=equals;getKClass TARGET_BACKENDS=JS
fun box(): String {
if (M1().foo() != 1) return "fail"
+1 -1
View File
@@ -2,7 +2,7 @@
// MODULE: main(module2)
// FILE: main.kt
// CHECK_CONTAINS_NO_CALLS: box except=foo;bar;toString
// CHECK_CONTAINS_NO_CALLS: box except=foo;bar;toString TARGET_BACKENDS=JS
import A.test
@@ -13,8 +13,13 @@ inline operator fun B.plus(b: Int) = b + 20
// MODULE: main(lib)
// FILE: main.kt
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_za3lpa$ scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=plus scope=box
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_za3lpa$ scope=box TARGET_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus scope=box TARGET_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: plus_ha5a7z_k$ IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_ha5a7z_k$ scope=box IGNORED_BACKENDS=JS
// CHECK_FUNCTION_EXISTS: plus_0 IGNORED_BACKENDS=JS
// CHECK_NOT_CALLED_IN_SCOPE: function=plus_0 scope=box IGNORED_BACKENDS=JS
fun box(): String {
var result = A() + 1
@@ -100,8 +100,8 @@ var A.p15: Int
// MODULE: main(lib)
// FILE: main.kt
// PROPERTY_NOT_USED: p1
// PROPERTY_NOT_READ_FROM: p2
// PROPERTY_NOT_USED: p1 scope=box
// PROPERTY_NOT_READ_FROM: p2 scope=box
// PROPERTY_NOT_WRITTEN_TO: p3
// CHECK_NOT_CALLED: imported$get_p4
// CHECK_NOT_CALLED: imported$set_p4
@@ -9,7 +9,7 @@ inline fun baz(x: String) = "baz(${foo(x)})"
// MODULE: main(lib)
// FILE: a.kt
// PROPERTY_READ_COUNT: name=foo_61zpoe$ count=1
// PROPERTY_READ_COUNT: name=foo_61zpoe$ count=1 TARGET_BACKENDS=JS
fun test1() = bar("q")
// FILE: b.kt