Constructor with default arguments for inner class

#KT-2852 Fixed
This commit is contained in:
Natalia.Ukhorskaya
2012-12-24 14:33:54 +04:00
parent 93b7e9add9
commit 538aa869b4
7 changed files with 147 additions and 4 deletions
@@ -0,0 +1,8 @@
class A(val a: Int = 0)
fun box(): String {
if (A().a == 0 && A(1).a == 1) {
return "OK"
}
return "fail"
}
@@ -0,0 +1,14 @@
class A {
class B(val a: String = "a", val b: Int = 55, val c: String = "c")
}
fun box(): String {
val bDefault = A().B()
val b = A().B("aa", 66, "cc")
if (bDefault.a == "a" && bDefault.b == 55 && bDefault.c == "c") {
if (b.a == "aa" && b.b == 66 && b.c == "cc") {
return "OK"
}
}
return "fail"
}
@@ -0,0 +1,13 @@
class A(val a: Int = 0, val b: String = "a")
fun box(): String {
val a1 = A()
val a2 = A(1)
val a3 = A(b = "b")
val a4 = A(2, "c")
if (a1.a != 0 && a1.b != "a") return "fail"
if (a2.a != 1 && a2.b != "a") return "fail"
if (a3.a != 0 && a3.b != "b") return "fail"
if (a4.a != 2 && a4.b != "c") return "fail"
return "OK"
}
@@ -0,0 +1,7 @@
fun box(): String {
val o = object {
class A(val value: String = "OK")
}
return o.A().value
}