[JS IR] Fix JS code diagnostics tests according to new KLIB checks
^KT-62425
This commit is contained in:
committed by
Space Team
parent
04809a6b3b
commit
261527939b
compiler/testData/diagnostics/testsWithJsStdLibAndBackendCompilation/jsCode/argumentIsLiteral.fir.kt
Vendored
+16
-11
@@ -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,20 +10,20 @@ fun nonConst(): String = "1"
|
||||
fun test() {
|
||||
val b = "b"
|
||||
|
||||
js(a)
|
||||
js((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!>3<!>)
|
||||
js(<!ARGUMENT_TYPE_MISMATCH!>3 + 2<!>)
|
||||
js(<!ARGUMENT_TYPE_MISMATCH!>1.0f<!>)
|
||||
js(<!ARGUMENT_TYPE_MISMATCH!>true<!>)
|
||||
js("$a")
|
||||
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("$b;")
|
||||
js("${b}bb")
|
||||
js(a + a)
|
||||
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(nonConst())
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>nonConst()<!>)
|
||||
}
|
||||
|
||||
Vendored
+11
-6
@@ -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")
|
||||
|
||||
|
||||
Vendored
+6
-1
@@ -1,4 +1,9 @@
|
||||
// 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
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
fun Int.foo(x: Int) {
|
||||
js("this = x;")
|
||||
js(<!JSCODE_ERROR!>"this = x;"<!>)
|
||||
}
|
||||
|
||||
Vendored
+6
-1
@@ -1,4 +1,9 @@
|
||||
// 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
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
fun Int.foo(x: Int) {
|
||||
js("this = x<!JSCODE_ERROR!><!>;")
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+7
-2
@@ -1,8 +1,13 @@
|
||||
// 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
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun foo(x: Any) {
|
||||
js("delete x.foo;")
|
||||
js("delete x['bar'];")
|
||||
js("delete x.baz();")
|
||||
js("delete this;")
|
||||
js(<!JSCODE_ERROR!>"delete x.baz();"<!>)
|
||||
js(<!JSCODE_ERROR!>"delete this;"<!>)
|
||||
}
|
||||
|
||||
Vendored
+6
-1
@@ -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
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun foo(x: Any) {
|
||||
@@ -5,4 +10,4 @@ fun foo(x: Any) {
|
||||
js("delete x['bar'];")
|
||||
js("delete x.baz<!JSCODE_ERROR!>()<!>;")
|
||||
js("delete <!JSCODE_ERROR!>this<!>;")
|
||||
}
|
||||
}
|
||||
|
||||
+14
-9
@@ -1,25 +1,30 @@
|
||||
// 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 code = """
|
||||
var s = "hello"
|
||||
+ );
|
||||
"""
|
||||
|
||||
fun main(): Unit {
|
||||
js("var = 10;")
|
||||
js(<!JSCODE_ERROR!>"var = 10;"<!>)
|
||||
|
||||
js("""var = 10;""")
|
||||
js(<!JSCODE_ERROR!>"""var = 10;"""<!>)
|
||||
|
||||
js("""var
|
||||
js(<!JSCODE_ERROR!>"""var
|
||||
= 777;
|
||||
""")
|
||||
"""<!>)
|
||||
|
||||
js("""
|
||||
js(<!JSCODE_ERROR!>"""
|
||||
var = 777;
|
||||
""")
|
||||
"""<!>)
|
||||
|
||||
js("var " + " = " + "10;")
|
||||
js(<!JSCODE_ERROR!>"var " + " = " + "10;"<!>)
|
||||
|
||||
val n = 10
|
||||
js("var = $n;")
|
||||
js(<!JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>"var = $<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>n<!>;"<!>)
|
||||
|
||||
js(code)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>code<!>)
|
||||
}
|
||||
|
||||
+7
-2
@@ -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 code = """
|
||||
var s = "hello"
|
||||
+ );
|
||||
@@ -19,7 +24,7 @@ fun main(): Unit {
|
||||
js(<!JSCODE_ERROR!>"var " + " = " + "10;"<!>)
|
||||
|
||||
val n = 10
|
||||
js(<!JSCODE_ERROR!>"var = $n;"<!>)
|
||||
js(<!JSCODE_ERROR!>"var = $<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION!>n<!>;"<!>)
|
||||
|
||||
js(<!JSCODE_ERROR!>code<!>)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_ERROR!>code<!>)
|
||||
}
|
||||
|
||||
+12
-7
@@ -1,16 +1,21 @@
|
||||
// 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
|
||||
fun test() {
|
||||
js("")
|
||||
js(" ")
|
||||
js("""
|
||||
""")
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>""<!>)
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>" "<!>)
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>"""
|
||||
"""<!>)
|
||||
|
||||
val empty = ""
|
||||
js(empty)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>empty<!>)
|
||||
|
||||
val whitespace = " "
|
||||
js(whitespace)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>whitespace<!>)
|
||||
|
||||
val multiline = """
|
||||
"""
|
||||
js(multiline)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>multiline<!>)
|
||||
}
|
||||
|
||||
Vendored
+9
-4
@@ -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
|
||||
fun test() {
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>""<!>)
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>" "<!>)
|
||||
@@ -5,12 +10,12 @@ fun test() {
|
||||
"""<!>)
|
||||
|
||||
val empty = ""
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>empty<!>)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_NO_JAVASCRIPT_PRODUCED!>empty<!>)
|
||||
|
||||
val whitespace = " "
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>whitespace<!>)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_NO_JAVASCRIPT_PRODUCED!>whitespace<!>)
|
||||
|
||||
val multiline = """
|
||||
"""
|
||||
js(<!JSCODE_NO_JAVASCRIPT_PRODUCED!>multiline<!>)
|
||||
}
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_NO_JAVASCRIPT_PRODUCED!>multiline<!>)
|
||||
}
|
||||
|
||||
+9
-4
@@ -1,10 +1,15 @@
|
||||
// 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
|
||||
fun main(): Unit {
|
||||
js("var a = 08;")
|
||||
js(<!JSCODE_WARNING!>"var a = 08;"<!>)
|
||||
|
||||
js("""var a =
|
||||
js(<!JSCODE_WARNING!>"""var a =
|
||||
|
||||
08;""")
|
||||
08;"""<!>)
|
||||
|
||||
val code = "var a = 08;"
|
||||
js(code)
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_CAN_NOT_VERIFY_JAVASCRIPT!>code<!>)
|
||||
}
|
||||
|
||||
+7
-2
@@ -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
|
||||
fun main(): Unit {
|
||||
js("var a =<!JSCODE_WARNING!> 08<!>;")
|
||||
|
||||
@@ -6,5 +11,5 @@ fun main(): Unit {
|
||||
08<!>;""")
|
||||
|
||||
val code = "var a = 08;"
|
||||
js(<!JSCODE_WARNING!>code<!>)
|
||||
}
|
||||
js(<!JSCODE_ARGUMENT_NON_CONST_EXPRESSION, JSCODE_WARNING!>code<!>)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user