[JS FIR] Add JS_NAME_CLASH tests for constructors

^KT-64867 Related
This commit is contained in:
Alexander Korepanov
2024-01-15 15:45:43 +01:00
committed by Space Team
parent 5da4d31d37
commit 3dd4a0d868
12 changed files with 237 additions and 0 deletions
@@ -0,0 +1,49 @@
// FIR_DIFFERENCE
// K1 doesn't detect a clash between constructors in one class.
// It doesn't seem correct (KT-64976) because it leads to a clash in the generated JS code. K2 works correctly.
// !DIAGNOSTICS: -OPT_IN_USAGE
@JsExport
class ClassA {
val x: String
@JsName("constructorA")
constructor(y: String) {
x = "fromString:$y"
}
@JsName("constructorOther")
constructor(y: Int) {
x = "fromInt:$y"
}
}
@JsExport
class ClassB {
val x: String
@JsName("constructorB")
constructor(y: String) {
x = "fromString:$y"
}
@JsName("constructorOther")
constructor(y: Int) {
x = "fromInt:$y"
}
}
@JsExport
class ClassC {
val x: String
@JsName("constructorC")
constructor(y: String) {
x = "fromString:$y"
}
@JsName("constructorC")
constructor(y: Int) {
x = "fromInt:$y"
}
}