// IGNORE_BACKEND: JS // !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" }