blob: 7d9c492b07668fe3a6cbb02a1e1e6e5793d34a55 [file]
// 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.
// IGNORE_FIR_DIAGNOSTICS
// IGNORE_BACKEND_K1: JS_IR
val a = "1"
fun nonConst(): String = "1"
fun test() {
val b = "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("$<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!>")
js("${1}")
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")
js(<!JSCODE_ARGUMENT_SHOULD_BE_CONSTANT!>nonConst()<!>)
}