feat(Escaped Identifiers): add ability to use any symbol wrapped in back ticks.

This commit is contained in:
Artem Kobzar
2021-10-29 17:55:59 +00:00
committed by Space
parent ea10b4a781
commit 979e9f94ef
59 changed files with 1260 additions and 159 deletions
@@ -0,0 +1,23 @@
// IGNORE_BACKEND: JS
// !LANGUAGE: +JsAllowInvalidCharsIdentifiersEscaping
package foo
@JsExport()
class A {
class `$invalid inner` {}
}
class B {
class `$invalid inner` {}
}
fun box(): String {
// DCE preventing
val b = B()
assertEquals("function", js("typeof A['\$invalid inner']"))
assertEquals(js("undefined"), js("B['\$invalid inner']"))
return "OK"
}