[JS FIR] Support JS_BUILTIN_NAME_CLASH diagnostic
^KT-59391 Fixed
This commit is contained in:
committed by
Space Team
parent
f061215ee9
commit
37c8ec1e51
@@ -1,56 +0,0 @@
|
||||
class C {
|
||||
class prototype
|
||||
|
||||
class length
|
||||
|
||||
class `$metadata$`
|
||||
|
||||
fun constructor() {}
|
||||
}
|
||||
|
||||
class D {
|
||||
private class prototype
|
||||
|
||||
private class length
|
||||
|
||||
private class `$metadata$`
|
||||
|
||||
private fun constructor() {}
|
||||
}
|
||||
|
||||
class E {
|
||||
@JsName("prototype")
|
||||
class D
|
||||
|
||||
@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?
|
||||
}
|
||||
@@ -1,3 +1,6 @@
|
||||
// FIR_IDENTICAL
|
||||
// !OPT_IN: kotlin.js.ExperimentalJsExport
|
||||
// FILE: f0.kt
|
||||
class C {
|
||||
class <!JS_BUILTIN_NAME_CLASH!>prototype<!>
|
||||
|
||||
@@ -37,6 +40,27 @@ class F {
|
||||
fun constructor() {}
|
||||
}
|
||||
|
||||
class G {
|
||||
val x: String
|
||||
<!JS_BUILTIN_NAME_CLASH!>@JsName("constructor") get()<!> {
|
||||
return "1"
|
||||
}
|
||||
}
|
||||
|
||||
class H {
|
||||
var x: String = "1"
|
||||
<!JS_BUILTIN_NAME_CLASH!>@JsName("constructor") set(v)<!> {
|
||||
field = v
|
||||
}
|
||||
@JsName("getter") get() {
|
||||
return "1"
|
||||
}
|
||||
}
|
||||
|
||||
class I {
|
||||
<!JS_BUILTIN_NAME_CLASH!>val constructor<!> = 1
|
||||
}
|
||||
|
||||
class prototype
|
||||
|
||||
class length
|
||||
@@ -53,4 +77,53 @@ fun f() {
|
||||
|
||||
external interface Object {
|
||||
val constructor: Any?
|
||||
}
|
||||
}
|
||||
|
||||
external interface ExternalInterface {
|
||||
fun constructor()
|
||||
}
|
||||
|
||||
class NonExternalChild : ExternalInterface {
|
||||
<!JS_BUILTIN_NAME_CLASH!>override fun constructor()<!> {}
|
||||
}
|
||||
|
||||
// FILE: f1.kt
|
||||
package foo1
|
||||
|
||||
class prototype {
|
||||
companion object {
|
||||
fun test() {}
|
||||
}
|
||||
}
|
||||
|
||||
class length {
|
||||
companion object {
|
||||
fun test() {}
|
||||
}
|
||||
}
|
||||
|
||||
@JsExport
|
||||
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()<!> {}
|
||||
}
|
||||
|
||||
// FILE: f2.kt
|
||||
package foo2
|
||||
|
||||
external class prototype {
|
||||
companion object {
|
||||
fun test()
|
||||
}
|
||||
}
|
||||
|
||||
external class length {
|
||||
companion object {
|
||||
fun test()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,13 @@ public final class E {
|
||||
}
|
||||
}
|
||||
|
||||
public external interface ExternalInterface {
|
||||
public abstract fun constructor(): kotlin.Unit
|
||||
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
|
||||
}
|
||||
|
||||
public final class F {
|
||||
public constructor F()
|
||||
@kotlin.js.JsName(name = "f") public final fun constructor(): kotlin.Unit
|
||||
@@ -98,6 +105,38 @@ public final class F {
|
||||
}
|
||||
}
|
||||
|
||||
public final class G {
|
||||
public constructor G()
|
||||
@get:kotlin.js.JsName(name = "constructor") public final val x: 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
|
||||
}
|
||||
|
||||
public final class H {
|
||||
public constructor H()
|
||||
@get:kotlin.js.JsName(name = "getter") @set:kotlin.js.JsName(name = "constructor") public final var x: 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
|
||||
}
|
||||
|
||||
public final class I {
|
||||
public constructor I()
|
||||
public final val constructor: kotlin.Int = 1
|
||||
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
|
||||
}
|
||||
|
||||
public final class NonExternalChild : ExternalInterface {
|
||||
public constructor NonExternalChild()
|
||||
public open override /*1*/ fun constructor(): kotlin.Unit
|
||||
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
|
||||
}
|
||||
|
||||
public external interface Object {
|
||||
public abstract val constructor: kotlin.Any?
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -118,3 +157,99 @@ public final class prototype {
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
package foo1 {
|
||||
|
||||
@kotlin.js.JsExport public final class C {
|
||||
public constructor C()
|
||||
public final fun constructor(): kotlin.Unit
|
||||
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
|
||||
|
||||
public final class `$metadata$` {
|
||||
public constructor `$metadata$`()
|
||||
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
|
||||
}
|
||||
|
||||
public final class length {
|
||||
public constructor length()
|
||||
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
|
||||
}
|
||||
|
||||
public final class prototype {
|
||||
public constructor prototype()
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
public final class length {
|
||||
public constructor length()
|
||||
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
|
||||
|
||||
public companion object Companion {
|
||||
private constructor Companion()
|
||||
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 final fun test(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public final class prototype {
|
||||
public constructor prototype()
|
||||
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
|
||||
|
||||
public companion object Companion {
|
||||
private constructor Companion()
|
||||
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 final fun test(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
package foo2 {
|
||||
|
||||
public final external class length {
|
||||
public constructor length()
|
||||
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
|
||||
|
||||
public companion object Companion {
|
||||
private constructor Companion()
|
||||
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 final fun test(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
|
||||
public final external class prototype {
|
||||
public constructor prototype()
|
||||
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
|
||||
|
||||
public companion object Companion {
|
||||
private constructor Companion()
|
||||
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 final fun test(): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user