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("")
@@ -0,0 +1,16 @@
package
public val x: kotlin.Int
private fun ` .private `(): kotlin.String
@kotlin.js.JsName(name = "validName") private fun ` .private with @JsName `(): kotlin.String
public fun ` .public `(): kotlin.String
@kotlin.js.JsName(name = " ___ ") private fun bar(): kotlin.String
@kotlin.js.JsName(name = " __ ") public fun foo(): kotlin.String
private final class ` .private class ` {
public constructor ` .private class `()
public final val ` .field. `: kotlin.String = ""
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}