diff options
author | Lukas Rytz <lukas.rytz@epfl.ch> | 2009-06-15 15:03:20 +0000 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@epfl.ch> | 2009-06-15 15:03:20 +0000 |
commit | 7337db9c59daeac26e81e22cfea4f7d8b43a0747 (patch) | |
tree | fdf3fa7868907040432296e889f8030010c7b3e6 /test/files/run/names-defaults.scala | |
parent | a907772ff59f7150637494f46b60665ca6e21163 (diff) | |
download | scala-7337db9c59daeac26e81e22cfea4f7d8b43a0747.tar.gz scala-7337db9c59daeac26e81e22cfea4f7d8b43a0747.tar.bz2 scala-7337db9c59daeac26e81e22cfea4f7d8b43a0747.zip |
allow using named / default arguments in self- ...
allow using named / default arguments in self- and super constructor
calls. fixes #2050 and #2052.
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) +} |