| // 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, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>a<!>) |
| js((<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>b<!>)) |
| js(("c")) |
| js(<!ARGUMENT_TYPE_MISMATCH, JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>3<!>) |
| js(<!ARGUMENT_TYPE_MISMATCH, JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>3 + 2<!>) |
| js(<!ARGUMENT_TYPE_MISMATCH, JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>1.0f<!>) |
| js(<!ARGUMENT_TYPE_MISMATCH, JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>true<!>) |
| js(<!JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>"$<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!>"<!>) |
| js("${1}") |
| js(<!JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>"$<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>b<!>;"<!>) |
| js(<!JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>"${<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>b<!>}bb"<!>) |
| js(<!JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!><!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!> + <!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>a<!><!>) |
| js("a" + "a") |
| js("ccc") |
| |
| js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>nonConst()<!>) |
| } |