diff options
Diffstat (limited to 'test/files/run/names-defaults.scala')
-rw-r--r-- | test/files/run/names-defaults.scala | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/test/files/run/names-defaults.scala b/test/files/run/names-defaults.scala index c016a98e1a..6ec391af2f 100644 --- a/test/files/run/names-defaults.scala +++ b/test/files/run/names-defaults.scala @@ -183,10 +183,21 @@ object Test extends Application { // bug #2057 - class O { class I(x: Int = 1) } + class O { class I(val x: Int = 1) } class U extends O { val f = new I() } + val u1 = new U + println(u1.f.x) + // names / defaults in self constructor call + new A3("lskfdjlk") + new A4(1.23, ",") + + + // names / defaults in super constructor call + new B4() + new B5() + // DEFINITIONS def test1(a: Int, b: String) = println(a +": "+ b) @@ -251,3 +262,29 @@ class A2 { } class C2 } + + + +// using names / defaults in self constructor call +class A3(x: String, y: Int = 10) { + def this(a: Object) { + this(y = 10, x = a.toString()) + println(x) + } +} +class A4(x: String, y: Int = 11) { + def this(b: Double, sep: String) { + this(sep + b + sep) + println(y) + } +} + + +// using names / defaults in super constructor call +class A5(x: Int, val y: Int = 2)(z: Int = x + y) +class B4 extends A5(10)() { + println(y) +} +class B5 extends A5(y = 20, x = 2)() { + println(y) +} |