Files
kotlin-fork/js/js.translator/testData/box/escapedIdentifiers/classLikeMemberClassMangling.kt
T
2021-11-29 21:09:31 +03:00

28 lines
522 B
Kotlin
Vendored

// 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()
val aCtor = A::class.js.asDynamic()
val bCtor = B::class.js.asDynamic()
assertEquals("function", typeOf(aCtor["\$invalid inner"]))
assertEquals(js("undefined"), bCtor["\$invalid inner"])
return "OK"
}
private fun typeOf(t: Any): String = js("typeof t")