summaryrefslogtreecommitdiff
path: root/test/files/run
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run')
-rw-r--r--test/files/run/bug428.check8
-rw-r--r--test/files/run/bug428.scala37
2 files changed, 45 insertions, 0 deletions
diff --git a/test/files/run/bug428.check b/test/files/run/bug428.check
new file mode 100644
index 0000000000..21bef2f8d3
--- /dev/null
+++ b/test/files/run/bug428.check
@@ -0,0 +1,8 @@
+Foo 1: a = 0, b = 0, x = 0, y = 0
+Foo 2: a = 2, b = 0, x = 0, y = 0
+Foo 3: a = 2, b = 3, x = 0, y = 0
+Foo 4: a = 2, b = 3, x = 0, y = 0
+Foo 5: a = 2, b = 3, x = 0, y = 0
+Bar 1: a = 2, b = 3, x = 0, y = 0
+Bar 2: a = 2, b = 3, x = 5, y = 0
+Bar 3: a = 2, b = 3, x = 5, y = 7
diff --git a/test/files/run/bug428.scala b/test/files/run/bug428.scala
new file mode 100644
index 0000000000..34d99efd1f
--- /dev/null
+++ b/test/files/run/bug428.scala
@@ -0,0 +1,37 @@
+object Test {
+
+ abstract class Foo(_a: Int, _b: Int) {
+
+ Console.println("Foo 1: " + this);
+ val a: Int = _a;
+ Console.println("Foo 2: " + this);
+ val b: Int = { fun(); _b }
+ Console.println("Foo 3: " + this);
+ val x: Int;
+ Console.println("Foo 4: " + this);
+ val y: Int;
+ Console.println("Foo 5: " + this);
+
+
+ def fun(): Unit = ();
+
+ override def toString(): String =
+ "a = " + a + ", b = " + b + ", x = " + x + ", y = " + y;
+
+ }
+
+ class Bar(_a: Int, _b: Int, _x: Int, _y: Int) extends Foo(_a, _b) {
+
+ Console.println("Bar 1: " + this);
+ val x: Int = _x;
+ Console.println("Bar 2: " + this);
+ val y: Int = { fun(); _y }
+ Console.println("Bar 3: " + this);
+
+ }
+
+ def main (args: Array[String]): Unit = {
+ new Bar(2,3,5,7);
+ }
+
+}