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,25 @@
// IGNORE_BACKEND: JS
// !LANGUAGE: +JsAllowInvalidCharsIdentifiersEscaping
package foo
class class_with_invalid_chars {
fun foo(): Int = 23
}
class `class@with$invalid chars` {
fun foo(): Int = 42
}
fun box(): String {
val a = class_with_invalid_chars()
val b = `class@with$invalid chars`()
assertEquals(true, a is class_with_invalid_chars)
assertEquals(true, b is `class@with$invalid chars`)
assertEquals(23, a.foo())
assertEquals(42, b.foo())
return "OK"
}