Fix some problems with jsCode function

1. Fix a bug in frontend when passing non-String constant led to exception
2. Fix a bug in backend when passing non-JetStringTeplate string constant led to exception
3. Avoid recomputing constant argument in backend
This commit is contained in:
Pavel V. Talanov
2015-07-20 18:18:40 +03:00
parent b4825ada69
commit add8387141
5 changed files with 49 additions and 25 deletions
@@ -6,7 +6,12 @@ fun test() {
val b = "b"
js(a)
js(b)
js((b))
js(("c"))
js(<!CONSTANT_EXPECTED_TYPE_MISMATCH, JSCODE_ARGUMENT_SHOULD_BE_CONSTANT!>3<!>)
js(<!TYPE_MISMATCH, JSCODE_ARGUMENT_SHOULD_BE_CONSTANT!>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("${1}")
js("$b;")