[JS IR] Fix JS code diagnostics tests according to new KLIB checks

^KT-62425
This commit is contained in:
Alexander Korepanov
2023-10-12 14:03:14 +02:00
committed by Space Team
parent 04809a6b3b
commit 261527939b
12 changed files with 110 additions and 50 deletions
@@ -1,3 +1,8 @@
// FIR_DIFFERENCE
// The diagnostic cannot be implemented with the FIR frontend checker because it requires constant evaluation over FIR.
// The diagnostic is implemented as a klib check over IR.
// ERROR_POLICY: SEMANTIC
val a = "1"
fun nonConst(): String = "1"
@@ -5,18 +10,18 @@ fun nonConst(): String = "1"
fun test() {
val b = "b"
js(a)
js((b))
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!>)
js((<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>b<!>))
js(("c"))
js(<!CONSTANT_EXPECTED_TYPE_MISMATCH, JSCODE_ARGUMENT_SHOULD_BE_CONSTANT!>3<!>)
js(<!JSCODE_ARGUMENT_SHOULD_BE_CONSTANT, TYPE_MISMATCH!>3 + 2<!>)
js(<!CONSTANT_EXPECTED_TYPE_MISMATCH, JSCODE_ARGUMENT_SHOULD_BE_CONSTANT!>1.0f<!>)
js(<!CONSTANT_EXPECTED_TYPE_MISMATCH, JSCODE_ARGUMENT_SHOULD_BE_CONSTANT!>true<!>)
js("$a")
js("$<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!>")
js("${1}")
js("$b;")
js("${b}bb")
js(a + a)
js("$<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>b<!>;")
js("${<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>b<!>}bb")
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!> + <!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!>)
js("a" + "a")
js("ccc")