JS: fix identifier generation in delegate constructor calls

See KT-21093
This commit is contained in:
Alexey Andreev
2017-11-08 17:44:10 +03:00
parent fdeb916111
commit 21de76f88d
6 changed files with 56 additions and 2 deletions
@@ -0,0 +1,30 @@
open class A(val x: String) {
constructor(`in`: String, y: String) : this(`in` + y)
constructor(`in`: Int = 23) : this(`in`.toString())
}
class B(`in`: String) : A(`in`)
class C : A {
constructor(`in`: String) : super(`in`)
}
fun box(): String {
val a1 = A("a", "b")
if (a1.x != "ab") return "fail1: ${a1.x}"
val a2 = A(42)
if (a2.x != "42") return "fail2: ${a2.x}"
val a3 = A()
if (a3.x != "23") return "fail3: ${a3.x}"
val b = B("q")
if (b.x != "q") return "fail4: ${b.x}"
val c = C("w")
if (c.x != "w") return "fail5: ${c.x}"
return "OK"
}