Files
kotlin-fork/compiler/testData/diagnostics/testsWithJsStdLib/name/builtinClash.kt
T
Alexey Andreev 6adb62f3a2 JS: prohibit declaration names that clash with JS builtin functions
See KT-18095, KT-17475, KT-18105, KT-5259
2017-10-23 17:19:52 +03:00

56 lines
892 B
Kotlin
Vendored

class C {
class <!JS_BUILTIN_NAME_CLASH!>prototype<!>
class <!JS_BUILTIN_NAME_CLASH!>length<!>
class <!JS_BUILTIN_NAME_CLASH!>`$metadata$`<!>
<!JS_BUILTIN_NAME_CLASH!>fun constructor()<!> {}
}
class D {
private class <!JS_BUILTIN_NAME_CLASH!>prototype<!>
private class <!JS_BUILTIN_NAME_CLASH!>length<!>
private class <!JS_BUILTIN_NAME_CLASH!>`$metadata$`<!>
private fun constructor() {}
}
class E {
@JsName("prototype")
class <!JS_BUILTIN_NAME_CLASH!>D<!>
<!JS_BUILTIN_NAME_CLASH!>@JsName("constructor")
fun f()<!> {}
}
class F {
@JsName("A")
class prototype
@JsName("B")
class length
@JsName("f")
fun constructor() {}
}
class prototype
class length
fun constructor() {
}
fun f() {
class prototype
class length
fun constructor() {}
}
external interface Object {
val constructor: Any?
}