[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
@@ -8,7 +8,8 @@ inline fun inlineFun(crossinline inlineLambda: () -> String = { "OK" }, noinline
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=box
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=box$lambda scope=box IGNORED_BACKENDS=JS
import test.*
fun box(): String {
@@ -1,6 +1,7 @@
// SKIP_INLINE_CHECK_IN: inlineFun$default
// FILE: 1.kt
// CHECK_CONTAINS_NO_CALLS: test
// CHECK_CONTAINS_NO_CALLS: test TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: test_0_k$ except=_get_value__0_k$ IGNORED_BACKENDS=JS
package test
//problem in test framework
@@ -9,7 +9,8 @@ inline fun inlineFun(capturedParam: String, noinline lambda: () -> String = { ca
fun call(lambda: () -> String ) = lambda()
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=box
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=box$lambda scope=box IGNORED_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=call scope=box
import test.*
@@ -8,7 +8,7 @@ inline fun inlineFun(crossinline inlineLambda: () -> String, noinline noInlineLa
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=inlineFun
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=inlineFun TARGET_BACKENDS=JS
import test.*
fun box(): String {
@@ -9,8 +9,8 @@ inline fun String.inlineFun(crossinline lambda: () -> String = { this }): String
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=box
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=box
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=box TARGET_BACKENDS=JS
import test.*
@@ -9,8 +9,8 @@ inline fun String.inlineFun(crossinline lambda: () -> String, crossinline dlambd
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=test
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=test
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=test TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=test TARGET_BACKENDS=JS
import test.*
fun String.test(): String = "INLINE".inlineFun({ this })
@@ -13,8 +13,8 @@ class A(val value: String) {
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda scope=box
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda_0 scope=box
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda_0 scope=box TARGET_BACKENDS=JS
import test.*
fun box(): String {
@@ -13,8 +13,8 @@ class A(val value: String) {
// FILE: 2.kt
//WIH_RUNTIME
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda scope=test
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda_0 scope=test
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda scope=test TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda_0 scope=test TARGET_BACKENDS=JS
import test.*
fun String.test(): String = with(A("VALUE")) { "INLINE".inlineFun({ this@test }) }
@@ -7,7 +7,8 @@ inline fun inlineFun(capturedParam: String, lambda: () -> Any = { capturedParam
}
// FILE: 2.kt
// CHECK_CONTAINS_NO_CALLS: box except=throwCCE;isType
// CHECK_CONTAINS_NO_CALLS: box except=throwCCE;isType TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: box except=THROW_CCE;isObject IGNORED_BACKENDS=JS
import test.*
@@ -7,7 +7,8 @@ inline fun inlineFun(lambda: () -> Any = { "OK" as Any }): Any {
}
// FILE: 2.kt
// CHECK_CONTAINS_NO_CALLS: box except=throwCCE;isType
// CHECK_CONTAINS_NO_CALLS: box except=throwCCE;isType TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: box except=THROW_CCE;isObject IGNORED_BACKENDS=JS
import test.*
@@ -11,7 +11,8 @@ inline fun <T : A> inlineFun(capturedParam: T, lambda: () -> T = { capturedParam
}
// FILE: 2.kt
// CHECK_CONTAINS_NO_CALLS: box
// CHECK_CONTAINS_NO_CALLS: box TARGET_BACKENDS=JS
// CHECK_CONTAINS_NO_CALLS: box except=_get_value__0_k$ IGNORED_BACKENDS=JS
import test.*
@@ -11,8 +11,8 @@ inline fun String.inlineFun(crossinline lambda: () -> String = { { this }() }):
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=box
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=box
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=inlineFun$lambda_0 scope=box TARGET_BACKENDS=JS
import test.*
@@ -14,8 +14,8 @@ class A(val value: String) {
}
// FILE: 2.kt
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda scope=box
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda_0 scope=box
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda scope=box TARGET_BACKENDS=JS
// CHECK_CALLED_IN_SCOPE: function=A$inlineFun$lambda_0 scope=box TARGET_BACKENDS=JS
import test.*
fun box(): String {