blob: 83d15df36fb96504e6063aabaddcb2f481f62bb8 [file] [log] [blame]
// 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_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()<!>)
}