| // LANGUAGE: +JsAllowInvalidCharsIdentifiersEscaping |
| |
| package foo |
| |
| external class A { |
| val `@invalid @ val@`: Int = definedExternally |
| var `--invalid-var`: String = definedExternally |
| |
| fun `get something$weird`(): String = definedExternally |
| |
| companion object { |
| val `static val`: Int = definedExternally |
| var `static var`: String = definedExternally |
| |
| fun `get 🦄`(): String = definedExternally |
| } |
| } |
| |
| fun box(): String { |
| val a = A() |
| |
| assertEquals(23, a.`@invalid @ val@`) |
| assertEquals("A: before", a.`--invalid-var`) |
| assertEquals("something weird", a.`get something$weird`()) |
| |
| a.`--invalid-var` = "A: after" |
| assertEquals("A: after", a.`--invalid-var`) |
| |
| assertEquals(42, A.Companion.`static val`) |
| assertEquals("Companion: before", A.Companion.`static var`) |
| assertEquals("\uD83E\uDD84", A.Companion.`get 🦄`()) |
| |
| A.`static var` = "Companion: after" |
| |
| assertEquals("Companion: after", A.Companion.`static var`) |
| |
| return "OK" |
| } |