summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-09-15 20:10:24 +0000
committerMartin Odersky <odersky@gmail.com>2003-09-15 20:10:24 +0000
commit1b77651f90d9b4132e419409295f0d3c6153cf41 (patch)
tree6cee2b5116466066134cdbeacf809ba878546764 /test/files
parent01d4668fc81fbbb245d145086ceea0755848a383 (diff)
downloadscala-1b77651f90d9b4132e419409295f0d3c6153cf41.tar.gz
scala-1b77651f90d9b4132e419409295f0d3c6153cf41.tar.bz2
scala-1b77651f90d9b4132e419409295f0d3c6153cf41.zip
*** empty log message ***
Diffstat (limited to 'test/files')
-rw-r--r--test/files/neg/bug105.check4
-rw-r--r--test/files/neg/bug105.scala1
-rw-r--r--test/files/neg/bug106.check4
-rw-r--r--test/files/neg/bug106.scala2
-rw-r--r--test/files/neg/bug107.check4
-rw-r--r--test/files/neg/bug107.scala8
-rw-r--r--test/files/neg/bug108.check4
-rw-r--r--test/files/neg/bug112.check4
-rw-r--r--test/files/neg/bug112.scala7
-rw-r--r--test/files/neg/bug113.check7
-rw-r--r--test/files/neg/bug113.scala4
-rw-r--r--test/files/neg/bug117.check10
-rw-r--r--test/files/neg/bug117.scala5
-rw-r--r--test/files/neg/bug118.check4
-rw-r--r--test/files/neg/bug118.scala6
-rw-r--r--test/files/neg/bug122.check7
-rw-r--r--test/files/neg/bug122.scala4
-rw-r--r--test/files/neg/overload.check19
-rw-r--r--test/files/neg/overload.scala17
-rw-r--r--test/files/pos/bug119.scala7
-rw-r--r--test/files/pos/bug123.scala3
-rw-r--r--test/files/pos/bug124.scala5
-rw-r--r--test/files/pos/bug32.scala17
-rw-r--r--test/files/pos/rebind.scala13
24 files changed, 166 insertions, 0 deletions
diff --git a/test/files/neg/bug105.check b/test/files/neg/bug105.check
new file mode 100644
index 0000000000..d0a980053a
--- /dev/null
+++ b/test/files/neg/bug105.check
@@ -0,0 +1,4 @@
+bug105.scala:1: illegal inheritance from sealed class
+object T extends Array[Int](1);
+ ^
+one error found
diff --git a/test/files/neg/bug105.scala b/test/files/neg/bug105.scala
new file mode 100644
index 0000000000..08a7b2ac5b
--- /dev/null
+++ b/test/files/neg/bug105.scala
@@ -0,0 +1 @@
+object T extends Array[Int](1);
diff --git a/test/files/neg/bug106.check b/test/files/neg/bug106.check
new file mode 100644
index 0000000000..b55e37ce3c
--- /dev/null
+++ b/test/files/neg/bug106.check
@@ -0,0 +1,4 @@
+bug106.scala:2: Java class may not be used as mixin
+class S extends T with Object;
+ ^
+one error found
diff --git a/test/files/neg/bug106.scala b/test/files/neg/bug106.scala
new file mode 100644
index 0000000000..bf705c9bf9
--- /dev/null
+++ b/test/files/neg/bug106.scala
@@ -0,0 +1,2 @@
+class T extends AnyRef;
+class S extends T with Object;
diff --git a/test/files/neg/bug107.check b/test/files/neg/bug107.check
new file mode 100644
index 0000000000..5def0a4164
--- /dev/null
+++ b/test/files/neg/bug107.check
@@ -0,0 +1,4 @@
+bug107.scala:4: class O needs to be abstract, since method foo in trait C is not defined
+object O extends C {
+ ^
+one error found
diff --git a/test/files/neg/bug107.scala b/test/files/neg/bug107.scala
new file mode 100644
index 0000000000..3bcb23e563
--- /dev/null
+++ b/test/files/neg/bug107.scala
@@ -0,0 +1,8 @@
+trait C {
+ def foo: Int;
+}
+object O extends C {
+ def main(args: Array[String]) = {
+ System.out.println(foo);
+ }
+}
diff --git a/test/files/neg/bug108.check b/test/files/neg/bug108.check
new file mode 100644
index 0000000000..60330626c3
--- /dev/null
+++ b/test/files/neg/bug108.check
@@ -0,0 +1,4 @@
+bug108.scala:3: x is already defined as value x
+ case x :: x => "first"
+ ^
+one error found
diff --git a/test/files/neg/bug112.check b/test/files/neg/bug112.check
new file mode 100644
index 0000000000..b01c2c6e8d
--- /dev/null
+++ b/test/files/neg/bug112.check
@@ -0,0 +1,4 @@
+bug112.scala:6: T.A is not a legal prefix for a constructor
+ class D extends C;
+ ^
+one error found
diff --git a/test/files/neg/bug112.scala b/test/files/neg/bug112.scala
new file mode 100644
index 0000000000..26a10c4e41
--- /dev/null
+++ b/test/files/neg/bug112.scala
@@ -0,0 +1,7 @@
+object T {
+ class A {
+ class B;
+ }
+ type C = A#B;
+ class D extends C;
+}
diff --git a/test/files/neg/bug113.check b/test/files/neg/bug113.check
new file mode 100644
index 0000000000..a9f699e90e
--- /dev/null
+++ b/test/files/neg/bug113.check
@@ -0,0 +1,7 @@
+bug113.scala:3: illegal cyclic reference involving type A
+ type B <: A;
+ ^
+bug113.scala:2: only classes can have declared but undefined members
+ type A <: B;
+ ^
+two errors found
diff --git a/test/files/neg/bug113.scala b/test/files/neg/bug113.scala
new file mode 100644
index 0000000000..62022b92c9
--- /dev/null
+++ b/test/files/neg/bug113.scala
@@ -0,0 +1,4 @@
+object T {
+ type A <: B;
+ type B <: A;
+}
diff --git a/test/files/neg/bug117.check b/test/files/neg/bug117.check
new file mode 100644
index 0000000000..f05e2e1c00
--- /dev/null
+++ b/test/files/neg/bug117.check
@@ -0,0 +1,10 @@
+bug117.scala:2: '(' expected but '[' found.
+ def this[A](x: A, y: A) = {
+ ^
+bug117.scala:4: identifier expected but '}' found.
+ }
+ ^
+bug117.scala:5: illegal start of expression
+}
+^
+three errors found
diff --git a/test/files/neg/bug117.scala b/test/files/neg/bug117.scala
new file mode 100644
index 0000000000..2c3cb65a08
--- /dev/null
+++ b/test/files/neg/bug117.scala
@@ -0,0 +1,5 @@
+class C[A](x: A) {
+ def this[A](x: A, y: A) = {
+ this(x);
+ }
+}
diff --git a/test/files/neg/bug118.check b/test/files/neg/bug118.check
new file mode 100644
index 0000000000..872d2b568a
--- /dev/null
+++ b/test/files/neg/bug118.check
@@ -0,0 +1,4 @@
+bug118.scala:3: return outside method definition
+ return null;
+ ^
+one error found
diff --git a/test/files/neg/bug118.scala b/test/files/neg/bug118.scala
new file mode 100644
index 0000000000..796bc50d09
--- /dev/null
+++ b/test/files/neg/bug118.scala
@@ -0,0 +1,6 @@
+class C(y: Int) {
+ def this() = {
+ return null;
+ this(1);
+ }
+}
diff --git a/test/files/neg/bug122.check b/test/files/neg/bug122.check
new file mode 100644
index 0000000000..9c49271882
--- /dev/null
+++ b/test/files/neg/bug122.check
@@ -0,0 +1,7 @@
+bug122.scala:2: recursive value v$ needs type
+ val List(v:int,2) = List(2,v:int);
+ ^
+bug122.scala:3: recursive value ds$0$ needs type
+ val Pair(a:int,b:int) = Pair(1,a);
+ ^
+two errors found
diff --git a/test/files/neg/bug122.scala b/test/files/neg/bug122.scala
new file mode 100644
index 0000000000..f00c6874b8
--- /dev/null
+++ b/test/files/neg/bug122.scala
@@ -0,0 +1,4 @@
+class L{
+ val List(v:int,2) = List(2,v:int);
+ val Pair(a:int,b:int) = Pair(1,a);
+}
diff --git a/test/files/neg/overload.check b/test/files/neg/overload.check
new file mode 100644
index 0000000000..011f10de7f
--- /dev/null
+++ b/test/files/neg/overload.check
@@ -0,0 +1,19 @@
+overload.scala:15: x is already defined as value x in class Test
+ var x: int = 3;
+ ^
+overload.scala:5: foo is already defined in local scope
+ def foo() = 2;
+ ^
+overload.scala:11: ambiguous reference to overloaded definition,
+both method foo: ()scala.Int
+and method foo: ()scala.Int
+match argument types ()
+ foo();
+ ^
+overload.scala:13: ambiguous reference to overloaded definition,
+both value x$: scala.Int
+and variable x$: scala.Int
+match expected type scala.Int
+ val x: int = 1;
+ ^
+four errors found
diff --git a/test/files/neg/overload.scala b/test/files/neg/overload.scala
new file mode 100644
index 0000000000..4add2e68bb
--- /dev/null
+++ b/test/files/neg/overload.scala
@@ -0,0 +1,17 @@
+class Test {
+
+ {
+ def foo() = 1;
+ def foo() = 2;
+ foo()
+ }
+
+ def foo() = 1;
+ def foo() = 2;
+ foo();
+
+ val x: int = 1;
+ def x(): int = 2;
+ var x: int = 3;
+
+}
diff --git a/test/files/pos/bug119.scala b/test/files/pos/bug119.scala
new file mode 100644
index 0000000000..e3f0993862
--- /dev/null
+++ b/test/files/pos/bug119.scala
@@ -0,0 +1,7 @@
+class K[E] {
+ case class A(v:E){};
+}
+
+class K2 extends K[int] {
+ val A(v) = A(42);
+}
diff --git a/test/files/pos/bug123.scala b/test/files/pos/bug123.scala
new file mode 100644
index 0000000000..79f0c907a3
--- /dev/null
+++ b/test/files/pos/bug123.scala
@@ -0,0 +1,3 @@
+class M{
+ val 1 = 1;
+}
diff --git a/test/files/pos/bug124.scala b/test/files/pos/bug124.scala
new file mode 100644
index 0000000000..9aed6786f6
--- /dev/null
+++ b/test/files/pos/bug124.scala
@@ -0,0 +1,5 @@
+class N{
+ val F: Any => Any = (x:Any) => F(x);
+ val f:(Any => Any) = (x:Any) => f(x);
+ val g: Any => Any = (x:Any) => g(x);
+}
diff --git a/test/files/pos/bug32.scala b/test/files/pos/bug32.scala
new file mode 100644
index 0000000000..4354727d1a
--- /dev/null
+++ b/test/files/pos/bug32.scala
@@ -0,0 +1,17 @@
+import java.io._;
+
+class PromptStream(s: OutputStream) extends PrintStream(s) {
+ override def println() = super.println();
+}
+
+object Main {
+
+ val out = new PromptStream(System.out);
+
+ System.setOut(out);
+
+ def main(args: Array[String]) =
+ //out.println("hello world");
+ ()
+
+}
diff --git a/test/files/pos/rebind.scala b/test/files/pos/rebind.scala
new file mode 100644
index 0000000000..59afe82ffa
--- /dev/null
+++ b/test/files/pos/rebind.scala
@@ -0,0 +1,13 @@
+abstract class Foo {
+ class Inner {
+ def inner: int = 1;
+ }
+ def foo: Inner;
+}
+abstract class Bar {
+ type Inner;
+ def foo: Inner = foo;
+}
+class Test extends Foo with Bar {
+ System.out.println(foo.inner);
+}