summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-10-03 13:42:39 +0000
committerMartin Odersky <odersky@gmail.com>2005-10-03 13:42:39 +0000
commit2994973970bcba6ff90d7788e79f2042cc11deaf (patch)
treeb90fbfc9d5b12b01f2815edabb2f0eeb17655a94 /test/files
parent159a3633b593bf2b0a10f4f4e218489b2bba03bc (diff)
downloadscala-2994973970bcba6ff90d7788e79f2042cc11deaf.tar.gz
scala-2994973970bcba6ff90d7788e79f2042cc11deaf.tar.bz2
scala-2994973970bcba6ff90d7788e79f2042cc11deaf.zip
*** empty log message ***
Diffstat (limited to 'test/files')
-rw-r--r--test/files/pos/MailBox.scala4
-rw-r--r--test/files/pos/S5.scala4
-rw-r--r--test/files/pos/bug115.scala2
-rw-r--r--test/files/pos/bug159.scala4
-rw-r--r--test/files/pos/bug211.scala2
-rw-r--r--test/files/pos/bug245.scala6
-rw-r--r--test/files/pos/bug267.scala6
-rw-r--r--test/files/pos/bug289.scala2
-rw-r--r--test/files/pos/bug342.scala2
-rwxr-xr-xtest/files/pos/bug348plus.scala23
-rw-r--r--test/files/pos/bug360.scala2
-rw-r--r--test/files/pos/bug361.scala2
-rw-r--r--test/files/pos/bug91.scala2
-rw-r--r--test/files/pos/compile.scala2
-rw-r--r--test/files/pos/constfold.scala2
-rwxr-xr-xtest/files/pos/failed.lst3
-rw-r--r--test/files/pos/gui.scala2
-rw-r--r--test/files/pos/matthias4.scala6
-rw-r--r--test/files/pos/michel1.scala2
-rw-r--r--test/files/pos/mixins.scala17
-rw-r--r--test/files/pos/nested.scala6
-rwxr-xr-xtest/files/pos/ok.lst138
-rwxr-xr-xtest/files/pos/orderedpoints.scala8
-rw-r--r--test/files/pos/rebind.scala2
-rw-r--r--test/files/pos/scoping1.scala2
-rw-r--r--test/files/pos/testcast.scala2
-rwxr-xr-xtest/files/pos/viewtest1.scala4
-rwxr-xr-xtest/files/pos/viewtest2.scala12
-rw-r--r--test/files/pos/viewtest3.scala2
29 files changed, 224 insertions, 47 deletions
diff --git a/test/files/pos/MailBox.scala b/test/files/pos/MailBox.scala
index 4e275cedbd..b1ea818f60 100644
--- a/test/files/pos/MailBox.scala
+++ b/test/files/pos/MailBox.scala
@@ -8,7 +8,7 @@ class MailBox {
var next: LinkedList[a] = null;
}
- def insert[a](l: LinkedList[a], x: a): LinkedList[a] = {
+ private def insert[a](l: LinkedList[a], x: a): LinkedList[a] = {
l.next = new LinkedList[a];
l.next.elem = x;
l.next.next = l.next;
@@ -32,7 +32,7 @@ class MailBox {
r = r1; r1 = r1.next;
}
if (r1 != null) {
- r.next = r1.next; r1.elem.msg = msg; r1.elem.notify;
+ r.next = r1.next; r1.elem.msg = msg; r1.elem.notify();
} else {
lastSent = insert(lastSent, msg);
}
diff --git a/test/files/pos/S5.scala b/test/files/pos/S5.scala
index 08f5b2a6eb..f0b66a6e68 100644
--- a/test/files/pos/S5.scala
+++ b/test/files/pos/S5.scala
@@ -16,7 +16,7 @@ abstract class M() {
// module body of M
}
}
-abstract class N() {
+trait N {
val _N: N = this;
val n: _N.n = new _N.n();
val _M: M;
@@ -26,5 +26,5 @@ abstract class N() {
}
}
object O {
- val system = new M() with N() {}
+ val system = new M() with N {}
}
diff --git a/test/files/pos/bug115.scala b/test/files/pos/bug115.scala
index 970636f708..a250e3c090 100644
--- a/test/files/pos/bug115.scala
+++ b/test/files/pos/bug115.scala
@@ -3,7 +3,7 @@ class S[A](f: A => A, x: A) {
}
class T[B](f: B => B, y: B) extends S(x: B => f(x), y) {
}
-object Test with Application {
+object Test extends Application {
new T[Int](x => x * 2, 1);
val f = new S(x: Int => x, 1);
}
diff --git a/test/files/pos/bug159.scala b/test/files/pos/bug159.scala
index d6cdb97b47..ef6eba5255 100644
--- a/test/files/pos/bug159.scala
+++ b/test/files/pos/bug159.scala
@@ -3,7 +3,7 @@ object foo {
// the problem seems to appear only
// if "val _" is in the body of a case
def cooked( ckd:StringBuffer ):Unit =
- 'a'.match {
+ 'a' match {
case '-' =>
val _ = ckd.append( '_' );
case 'v' =>
@@ -13,7 +13,7 @@ object foo {
}
object foo1 {
def f():Unit = {
- 1.match {
+ 1 match {
case 2 => val _ = 1;
case 3 => val _ = 2;
case 4 => val _ = 2;
diff --git a/test/files/pos/bug211.scala b/test/files/pos/bug211.scala
index 6c5b73ec4a..8c5cf1dc1e 100644
--- a/test/files/pos/bug211.scala
+++ b/test/files/pos/bug211.scala
@@ -1,7 +1,7 @@
trait A;
trait B;
class Foo: (A with B) extends A with B;
-object Test with Application {
+object Test extends Application {
new Foo();
System.out.println("bug211 completed");
}
diff --git a/test/files/pos/bug245.scala b/test/files/pos/bug245.scala
index 3e5dee820b..b33dd9914f 100644
--- a/test/files/pos/bug245.scala
+++ b/test/files/pos/bug245.scala
@@ -1,9 +1,9 @@
-class Value {
- def coerce: Int = 0;
-}
+class Value {}
object Test {
+ implicit def view(v: Value): int = 0;
+
def foo(i: Int): Int = 0;
def fun0 : Value = null;
diff --git a/test/files/pos/bug267.scala b/test/files/pos/bug267.scala
index 3c220e5df1..d99b1fa1fc 100644
--- a/test/files/pos/bug267.scala
+++ b/test/files/pos/bug267.scala
@@ -17,7 +17,7 @@ trait Base {
}
}
-object testBase extends Base with Application {
+object testBase extends Application with Base {
type exp = Exp;
val term = new Num(2);
System.out.println(term.eval);
@@ -41,7 +41,7 @@ trait Show extends Base {
trait Exp1 extends Exp {
def show: String;
}
- class Num1(v: int): exp extends Num(v) with Exp1 {
+ class Num1(v: int): (exp with Num1) extends Num(v) with Exp1 {
def show = value.toString();
}
}
@@ -49,7 +49,7 @@ trait Show extends Base {
/** Operation extension: An extension of `BasePlus' with 'show' methods.
*/
trait ShowPlus extends BasePlus with Show {
- class Plus1(l: exp, r: exp): exp extends Plus(l, r) with Exp1 {
+ class Plus1(l: exp, r: exp): (exp with Plus1) extends Plus(l, r) with Exp1 {
def show = left.show + " + " + right.show
}
}
diff --git a/test/files/pos/bug289.scala b/test/files/pos/bug289.scala
index 18b4e74294..2fb91510d2 100644
--- a/test/files/pos/bug289.scala
+++ b/test/files/pos/bug289.scala
@@ -4,4 +4,4 @@ class A {
object B;
}
-object C with A;
+object C extends A;
diff --git a/test/files/pos/bug342.scala b/test/files/pos/bug342.scala
index f7e318e0a8..2e72ef220b 100644
--- a/test/files/pos/bug342.scala
+++ b/test/files/pos/bug342.scala
@@ -1,4 +1,4 @@
-object Main with Application {
+object Main extends Application {
//object Foo extends Enumeration { // 1: OK !
object Foo extends Enumeration(0, "Bar") { // 2
diff --git a/test/files/pos/bug348plus.scala b/test/files/pos/bug348plus.scala
new file mode 100755
index 0000000000..45f49a33fe
--- /dev/null
+++ b/test/files/pos/bug348plus.scala
@@ -0,0 +1,23 @@
+// bug #348
+trait Foo {
+ type bar <: this.Bar;
+ abstract class Bar;
+ case class Baz(r:bar) extends this.Bar;
+ case object NoBar extends this.Bar;
+}
+object Test extends Application {
+ object ConcreteFooBar extends Foo { // if moved to toplevel, it works
+ type bar = Bar;
+ }
+ def foo = {
+ import ConcreteFooBar._ ;
+ Baz( NoBar )
+ }
+}
+
+// bug #367
+
+object Bla {
+ def foo(): Unit = (return null).equals(null);
+}
+
diff --git a/test/files/pos/bug360.scala b/test/files/pos/bug360.scala
index 53af1e8a1c..0fcb5cb161 100644
--- a/test/files/pos/bug360.scala
+++ b/test/files/pos/bug360.scala
@@ -3,7 +3,7 @@
abstract class Bug360A: Bug360C {
def f: String = "hello";
}
-abstract class Bug360B: Bug360C {
+trait Bug360B: Bug360C {
object d {
System.out.println(f);
}
diff --git a/test/files/pos/bug361.scala b/test/files/pos/bug361.scala
index 61de238f8b..f48c906246 100644
--- a/test/files/pos/bug361.scala
+++ b/test/files/pos/bug361.scala
@@ -1,6 +1,6 @@
// $Id$
-class Bug361Global with Bug361Trees;
+class Bug361Global extends Bug361Trees;
abstract class Bug361Trees: Bug361Global {
diff --git a/test/files/pos/bug91.scala b/test/files/pos/bug91.scala
index e05365caf4..54c821b41c 100644
--- a/test/files/pos/bug91.scala
+++ b/test/files/pos/bug91.scala
@@ -1,6 +1,6 @@
class Bug {
def main(args: Array[String]) = {
- var msg: String = _; // no bug if "null" instead of "_"
+ var msg: String = null; // no bug if "null" instead of "_"
val f: PartialFunction[Any, unit] = { case 42 => msg = "coucou" };
}
}
diff --git a/test/files/pos/compile.scala b/test/files/pos/compile.scala
index 3979c9737a..f7ada3193c 100644
--- a/test/files/pos/compile.scala
+++ b/test/files/pos/compile.scala
@@ -138,7 +138,7 @@ trait Test3A[T] {
def fun: T = fun;
}
-class Test3B with Test3A[Test3Foo];
+class Test3B extends Test3A[Test3Foo];
trait Test3M extends Test3A[Test3Foo] {
override def fun: Test3Foo = super.fun;
diff --git a/test/files/pos/constfold.scala b/test/files/pos/constfold.scala
index ef71285f72..2eb31b4086 100644
--- a/test/files/pos/constfold.scala
+++ b/test/files/pos/constfold.scala
@@ -5,7 +5,7 @@ object A {
val s = "z is " + z;
}
-object Test with Application {
+object Test extends Application {
System.out.println(A.x);
System.out.println(A.y);
diff --git a/test/files/pos/failed.lst b/test/files/pos/failed.lst
new file mode 100755
index 0000000000..b5b75eb35c
--- /dev/null
+++ b/test/files/pos/failed.lst
@@ -0,0 +1,3 @@
+bug123.scala
+exceptions.scala
+context.scala
diff --git a/test/files/pos/gui.scala b/test/files/pos/gui.scala
index 27863f7368..b40759fb01 100644
--- a/test/files/pos/gui.scala
+++ b/test/files/pos/gui.scala
@@ -49,7 +49,7 @@ object GUI {
def enable(b: Boolean): this.type;
}
- trait MouseCtl with Ctl {
+ trait MouseCtl extends Ctl {
def mouseDown(p: Geom.Point): unit;
}
diff --git a/test/files/pos/matthias4.scala b/test/files/pos/matthias4.scala
index bcda93746b..c6ce79d682 100644
--- a/test/files/pos/matthias4.scala
+++ b/test/files/pos/matthias4.scala
@@ -29,7 +29,7 @@ trait _a extends Object with _b {
def setX(x: B.X): Unit;
}
}
-abstract class a123() extends Object with _a with _b {
+trait a123 extends Object with _a with _b {
val a: this.type = this;
val A: A = new A();
class A() extends AObject {
@@ -67,13 +67,13 @@ trait _m {
abstract class m() extends Object with _m with _b {
val m: this.type = this;
val M: M = new M();
- class M() extends MObject with a123() with Linker() {
+ class M() extends MObject with a123 with Linker {
def test() = {
val x: B.X = B.getX();
A.setX(x);
}
}
- abstract class Linker() {
+ trait Linker {
val b: m.this.b.type = m.this.b;
val B: m.this.B.type = m.this.B;
type B = m.this.B;
diff --git a/test/files/pos/michel1.scala b/test/files/pos/michel1.scala
index 2fc409b4e5..f930a682ef 100644
--- a/test/files/pos/michel1.scala
+++ b/test/files/pos/michel1.scala
@@ -4,6 +4,6 @@ class A[Ta] (a : Ta) {
trait C {}
-class B[Tb] (b : Tb) extends C with A[Tb] (b) {
+class B[Tb] (b : Tb) extends A[Tb] (b) with C {
def g = 2
}
diff --git a/test/files/pos/mixins.scala b/test/files/pos/mixins.scala
index 8d7e7dfa52..2b403a25e8 100644
--- a/test/files/pos/mixins.scala
+++ b/test/files/pos/mixins.scala
@@ -2,16 +2,21 @@ package mixins;
abstract class Super {
def foo: int;
}
-abstract class Mixin extends Super {
+trait Mixin extends Super {
abstract override def foo = super.foo;
}
-class Sub extends Super with Mixin {
- override def foo: int = 1;
+trait MixinSub extends Super with Mixin {
+ abstract override def foo: int = super.foo;
}
-abstract class Mixin1 extends Mixin {
+trait MixinSubSub extends MixinSub {
abstract override def foo = super.foo;
}
-abstract class Base0 extends Super with Mixin {
+class Sub extends Super {
+ def foo: int = 1
}
-class Base extends Sub with Mixin1 {
+class Base extends Sub with MixinSubSub {
+ override def foo = super.foo;
}
+trait Mixin1 extends Sub with MixinSubSub {}
+class Base1 extends Mixin1 {}
+
diff --git a/test/files/pos/nested.scala b/test/files/pos/nested.scala
index e81b710d72..b038fce39d 100644
--- a/test/files/pos/nested.scala
+++ b/test/files/pos/nested.scala
@@ -12,11 +12,13 @@ class A(pa : Int) {
}
}
-class M(x : Int) {
+trait M {
+ val x : Int;
def m1 = x
}
-class A1(x : Int) extends A(x) with M(x) {
+class A1(x0 : Int) extends A(x0) with M {
+ val x = x0;
class D() extends B(42) {
val c2 = new C(66);
class E() extends C(5) {
diff --git a/test/files/pos/ok.lst b/test/files/pos/ok.lst
new file mode 100755
index 0000000000..14184a7129
--- /dev/null
+++ b/test/files/pos/ok.lst
@@ -0,0 +1,138 @@
+304.scala
+A.scala
+List1.scala
+MailBox.scala
+S1.scala
+S3.scala
+S5.scala
+S8.scala
+X.scala
+Z.scala
+abstract.scala
+aliases.scala
+arrays2.scala
+attributes.scala
+bug082.scala
+bug1.scala
+bug115.scala
+bug116.scala
+bug119.scala
+bug121.scala
+bug124.scala
+bug151.scala
+bug159.scala
+bug160.scala
+bug17.scala
+bug175.scala
+bug177.scala
+bug183.scala
+bug193.scala
+bug2.scala
+bug20.scala
+bug201.scala
+bug204.scala
+bug210.scala
+bug211.scala
+bug229.scala
+bug245.scala
+bug267.scala
+bug287.scala
+bug289.scala
+bug29.scala
+bug295.scala
+bug30.scala
+bug304.scala
+bug31.scala
+bug318.scala
+bug32.scala
+bug342.scala
+bug348plus.scala
+bug359.scala
+bug36.scala
+bug360.scala
+bug361.scala
+bug372.scala
+bug39.scala
+bug49.scala
+bug53.scala
+bug54.scala
+bug61.scala
+bug64.scala
+bug66.scala
+bug68.scala
+bug69.scala
+bug76.scala
+bug81.scala
+bug91.scala
+bug93.scala
+cls.scala
+cls1.scala
+clsrefine.scala
+compile.scala
+compound.scala
+constfold.scala
+eta.scala
+expressions-current.scala
+gui.scala
+imports.scala
+infer.scala
+infer2.scala
+lambda.scala
+lambdalift.scala
+lambdalift1.scala
+localmodules.scala
+matthias1.scala
+matthias3.scala
+matthias4.scala
+matthias5.scala
+maxim1.scala
+michel1.scala
+michel2.scala
+michel3.scala
+michel4.scala
+michel5.scala
+michel6.scala
+mixins.scala
+modules.scala
+modules1.scala
+moduletrans.scala
+nested.scala
+null.scala
+orderedpoints.scala
+override.scala
+partialfun.scala
+patterns.scala
+patterns1.scala
+patterns2.scala
+patterns3.scala
+philippe1.scala
+philippe2.scala
+philippe3.scala
+philippe4.scala
+pmbug.scala
+propagate.scala
+rebind.scala
+refine.scala
+reftest.scala
+scoping1.scala
+scoping2.scala
+scoping3.scala
+seqtest2.scala
+simplelists.scala
+stable.scala
+strings.scala
+test1.scala
+test2.scala
+test4.scala
+test4a.scala
+test4refine.scala
+test5.scala
+test5refine.scala
+testcast.scala
+thistype.scala
+thistypes.scala
+traits.scala
+valdefs.scala
+viewtest1.scala
+viewtest2.scala
+viewtest3.scala
diff --git a/test/files/pos/orderedpoints.scala b/test/files/pos/orderedpoints.scala
index 466ada1363..7e56a663fe 100755
--- a/test/files/pos/orderedpoints.scala
+++ b/test/files/pos/orderedpoints.scala
@@ -1,3 +1,5 @@
+package test;
+
class Point1(x: int) extends Object with Ordered[Point1] {
val xCoord = x;
def compareTo [b >: Point1 <% Ordered[b]](that: b): int = that match {
@@ -5,7 +7,8 @@ class Point1(x: int) extends Object with Ordered[Point1] {
case _ => -that.compareTo(this)
}
}
-class Point2(x: int, y: int) extends Point1(x) with Ordered[Point2] {
+class Point2(x: int, y: int) extends Point1(x) with Ordered[Point2] {}
+/*
val yCoord = y;
override def compareTo [b >: Point2 <% Ordered[b]](that: b): int = that match {
case that1: Point2 =>
@@ -14,7 +17,7 @@ class Point2(x: int, y: int) extends Point1(x) with Ordered[Point2] {
case _ => -that.compareTo(this)
}
}
-object Test with Application {
+object Test extends Application {
val p1 = new Point1(1);
val q1 = new Point1(2);
System.out.println(p1 < q1);
@@ -24,3 +27,4 @@ object Test with Application {
System.out.println(p1 < q2);
System.out.println(p2 < q1);
}
+*/
diff --git a/test/files/pos/rebind.scala b/test/files/pos/rebind.scala
index 59afe82ffa..3b7b27ac34 100644
--- a/test/files/pos/rebind.scala
+++ b/test/files/pos/rebind.scala
@@ -4,7 +4,7 @@ abstract class Foo {
}
def foo: Inner;
}
-abstract class Bar {
+trait Bar {
type Inner;
def foo: Inner = foo;
}
diff --git a/test/files/pos/scoping1.scala b/test/files/pos/scoping1.scala
index c9bc14b563..23daf024fe 100644
--- a/test/files/pos/scoping1.scala
+++ b/test/files/pos/scoping1.scala
@@ -1,4 +1,4 @@
-object This with Application {
+object This extends Application {
trait A {
def foo(): unit;
}
diff --git a/test/files/pos/testcast.scala b/test/files/pos/testcast.scala
index 15aa01ba72..631b2c922b 100644
--- a/test/files/pos/testcast.scala
+++ b/test/files/pos/testcast.scala
@@ -15,7 +15,7 @@ class B1 {
}
object C {
- def view(x: A): B1 = null;
+ implicit def view(x: A): B1 = null;
}
object Test {
import C.view;
diff --git a/test/files/pos/viewtest1.scala b/test/files/pos/viewtest1.scala
index e908e2acb9..0a59fdad58 100755
--- a/test/files/pos/viewtest1.scala
+++ b/test/files/pos/viewtest1.scala
@@ -5,13 +5,13 @@ trait Ordered[a] {
}
object O {
- def view (x: String): Ordered[String] = new Ordered[String] {
+ implicit def view (x: String): Ordered[String] = new Ordered[String] {
def < (y: String) = x.compareTo(y) < 0;
}
}
object Empty extends Tree[All];
-case class Node[+c <% Ordered[c]](elem: c, l: Tree[c], r: Tree[c]) extends Tree[c];
+case class Node[c <% Ordered[c]](elem: c, l: Tree[c], r: Tree[c]) extends Tree[c];
trait Tree[+a <% Ordered[a]] {
def insert[b >: a <% Ordered[b]](x: b): Tree[b] = this match {
diff --git a/test/files/pos/viewtest2.scala b/test/files/pos/viewtest2.scala
index 0d580418d0..1958696c1f 100755
--- a/test/files/pos/viewtest2.scala
+++ b/test/files/pos/viewtest2.scala
@@ -24,20 +24,20 @@ trait Ordered[+a] {
object O {
- def view (x: String): Ordered[String] = new Ordered[String] {
+ implicit def view1(x: String): Ordered[String] = new Ordered[String] {
def compareTo [b >: String <% Ordered[b]](y: b): int = y match {
case y1: String => x compareTo y1;
case _ => -(y compareTo x)
}
}
- def view (x: char): Ordered[char] = new Ordered[char] {
+ implicit def view2(x: char): Ordered[char] = new Ordered[char] {
def compareTo [b >: char <% Ordered[b]](y: b): int = y match {
case y1: char => x - y1;
case _ => -(y compareTo x)
}
}
- def view[a <% Ordered[a]](x: List[a]): Ordered[List[a]] =
+ implicit def view3[a <% Ordered[a]](x: List[a]): Ordered[List[a]] =
new Ordered[List[a]] {
def compareTo [b >: List[a] <% Ordered[b]](y: b): int = y match {
case y1: List[a] => compareLists(x, y1);
@@ -54,6 +54,8 @@ object O {
}
}
}
+
+ implicit def view4[a](x: a): a = x;
}
trait Tree[+a <% Ordered[a]] {
@@ -66,7 +68,7 @@ object Empty extends Tree[All] {
def elements: List[All] = List();
}
-class Node[+a <% Ordered[a]](elem: a, l: Tree[a], r: Tree[a]) extends Tree[a] {
+class Node[a <% Ordered[a]](elem: a, l: Tree[a], r: Tree[a]) extends Tree[a] {
def insert[b >: a <% Ordered[b]](x: b): Tree[b] =
if (x == elem) this
else if (x < elem) new Node(elem, l insert x, r)
@@ -83,7 +85,7 @@ case class Str(elem: String) extends Ordered[Str] {
}
object Test {
- import O.view;
+ import O._;
private def toCharList(s: String): List[Char] =
if (s.length() == 0) List()
diff --git a/test/files/pos/viewtest3.scala b/test/files/pos/viewtest3.scala
index dfed0dbf52..89e32e48a8 100644
--- a/test/files/pos/viewtest3.scala
+++ b/test/files/pos/viewtest3.scala
@@ -10,7 +10,7 @@ object Empty extends Tree[All] {
def elements: List[All] = List();
}
-class Node[+a <% Ordered[a]](elem: a, l: Tree[a], r: Tree[a]) extends Tree[a] {
+class Node[a <% Ordered[a]](elem: a, l: Tree[a], r: Tree[a]) extends Tree[a] {
def insert[b >: a <% Ordered[b]](x: b): Tree[b] =
if (x == elem) this
else if (x < elem) new Node(elem, l insert x, r)