JS: prohibit stable (public) names with non-identifier chars. Rewrite unstable (private) names with non-identifier chars. See KT-4160

This commit is contained in:
Alexey Andreev
2016-12-28 13:49:03 +03:00
parent 7f0166623d
commit 900adcf29b
14 changed files with 166 additions and 10 deletions
@@ -0,0 +1,20 @@
private fun ` .private `(): String = TODO("")
<!NAME_CONTAINS_ILLEGAL_CHARS!>fun ` .public `(): String<!> = TODO("")
<!NAME_CONTAINS_ILLEGAL_CHARS!>@JsName(" __ ")
fun foo(): String<!> = TODO("")
<!NAME_CONTAINS_ILLEGAL_CHARS!>@JsName(" ___ ")
private fun bar(): String<!> = TODO("")
@JsName("validName")
private fun ` .private with @JsName `(): String = TODO("")
private class <!NAME_CONTAINS_ILLEGAL_CHARS!>` .private class `<!> {
<!NAME_CONTAINS_ILLEGAL_CHARS!>val ` .field. `<!> = ""
}
val x: Int
<!NAME_CONTAINS_ILLEGAL_CHARS!>@JsName(".")
get()<!> = TODO("")