summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-06-05 15:57:59 +0000
committerMartin Odersky <odersky@gmail.com>2007-06-05 15:57:59 +0000
commite51207992f525ed9e32a7a9a39512b4d7e503c03 (patch)
treeb9440d03aed294fde3f8aaa293f60ed98b5de0c1 /test/files/pos
parente060c61b6127ceb2de0e4ce5d3f3d685bc542804 (diff)
downloadscala-e51207992f525ed9e32a7a9a39512b4d7e503c03.tar.gz
scala-e51207992f525ed9e32a7a9a39512b4d7e503c03.tar.bz2
scala-e51207992f525ed9e32a7a9a39512b4d7e503c03.zip
deprecated &f, .f, requires.
Added existential types.
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/bug0039.scala2
-rw-r--r--test/files/pos/bug210.scala4
-rw-r--r--test/files/pos/bug211.scala2
-rw-r--r--test/files/pos/bug267.scala8
-rw-r--r--test/files/pos/bug360.scala4
-rw-r--r--test/files/pos/bug361.scala2
-rw-r--r--test/files/pos/bug372.scala2
-rw-r--r--test/files/pos/bug592.scala2
-rw-r--r--test/files/pos/bug780.scala2
-rw-r--r--test/files/pos/pat_iuli.scala4
-rw-r--r--test/files/pos/philippe4.scala2
-rw-r--r--test/files/pos/scoping1.scala2
-rw-r--r--test/files/pos/scoping3.scala3
-rw-r--r--test/files/pos/unapplyContexts2.scala2
14 files changed, 20 insertions, 21 deletions
diff --git a/test/files/pos/bug0039.scala b/test/files/pos/bug0039.scala
index e1fc62f40f..652c606b0e 100644
--- a/test/files/pos/bug0039.scala
+++ b/test/files/pos/bug0039.scala
@@ -1,4 +1,4 @@
-abstract class Extensible[A, This <: Extensible[A, This]](x: A, xs: This) requires This {
+abstract class Extensible[A, This <: Extensible[A, This]](x: A, xs: This) { self: This =>
def mkObj(x: A, xs: This): This;
}
class Fixed[A](x: A, xs: Fixed[A]) extends Extensible[A, Fixed[A]](x, xs) {
diff --git a/test/files/pos/bug210.scala b/test/files/pos/bug210.scala
index efcad531d9..9a7ef62cd9 100644
--- a/test/files/pos/bug210.scala
+++ b/test/files/pos/bug210.scala
@@ -1,13 +1,13 @@
trait Lang1 {
trait Exp;
trait Visitor { def f(left: Exp): unit; }
- class Eval1 requires Visitor extends Visitor {
+ class Eval1 extends Visitor { self: Visitor =>
def f(left: Exp) = ();
}
}
trait Lang2 extends Lang1 {
- class Eval2 requires Visitor extends Eval1;
+ class Eval2 extends Eval1 { self: Visitor => }
}
/*
object Main with Application {
diff --git a/test/files/pos/bug211.scala b/test/files/pos/bug211.scala
index 424a396ea1..1c2c54934d 100644
--- a/test/files/pos/bug211.scala
+++ b/test/files/pos/bug211.scala
@@ -1,6 +1,6 @@
trait A;
trait B;
-class Foo requires (A with B) extends A with B;
+class Foo extends A with B { self: A with B => }
object Test extends Application {
new Foo();
Console.println("bug211 completed");
diff --git a/test/files/pos/bug267.scala b/test/files/pos/bug267.scala
index 66add083f7..92282f77a2 100644
--- a/test/files/pos/bug267.scala
+++ b/test/files/pos/bug267.scala
@@ -11,7 +11,7 @@ trait Base {
trait Exp {
def eval: int
}
- class Num(v: int) requires exp extends Exp {
+ class Num(v: int) extends Exp { self: exp =>
val value = v;
def eval = value
}
@@ -26,7 +26,7 @@ object testBase extends Application with Base {
/** Data extension: An extension of `Base' with `Plus' expressions
*/
trait BasePlus extends Base {
- class Plus(l: exp, r: exp) requires exp extends Exp {
+ class Plus(l: exp, r: exp) extends Exp { self: exp =>
val left = l;
val right = r;
def eval = left.eval + right.eval
@@ -41,7 +41,7 @@ trait Show extends Base {
trait Exp1 extends Exp {
def show: String;
}
- class Num1(v: int) requires (exp with Num1) extends Num(v) with Exp1 {
+ class Num1(v: int) extends Num(v) with Exp1 { self: exp with Num1 =>
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) requires (exp with Plus1) extends Plus(l, r) with Exp1 {
+ class Plus1(l: exp, r: exp) extends Plus(l, r) with Exp1 { self: exp with Plus1 =>
def show = left.show + " + " + right.show
}
}
diff --git a/test/files/pos/bug360.scala b/test/files/pos/bug360.scala
index 0860eb8ee3..64a02519cc 100644
--- a/test/files/pos/bug360.scala
+++ b/test/files/pos/bug360.scala
@@ -1,9 +1,9 @@
// $Id$
-abstract class Bug360A requires Bug360C {
+abstract class Bug360A { self: Bug360C =>
def f: String = "hello";
}
-trait Bug360B requires Bug360C {
+trait Bug360B { self: Bug360C =>
object d {
Console.println(f);
}
diff --git a/test/files/pos/bug361.scala b/test/files/pos/bug361.scala
index b12097e2cb..1e490c3812 100644
--- a/test/files/pos/bug361.scala
+++ b/test/files/pos/bug361.scala
@@ -2,7 +2,7 @@
class Bug361Global extends Bug361Trees;
-abstract class Bug361Trees requires Bug361Global {
+abstract class Bug361Trees { self: Bug361Global =>
abstract class Tree {
var pos: int = 0;
diff --git a/test/files/pos/bug372.scala b/test/files/pos/bug372.scala
index 162248657b..44c248bcd1 100644
--- a/test/files/pos/bug372.scala
+++ b/test/files/pos/bug372.scala
@@ -1,4 +1,4 @@
// $Id$
class Bug372Names;
-class Bug372Symbols requires (Bug372Symbols with Bug372Names);
+class Bug372Symbols { self: Bug372Symbols with Bug372Names => }
diff --git a/test/files/pos/bug592.scala b/test/files/pos/bug592.scala
index 4d41f112ee..6a941ef51a 100644
--- a/test/files/pos/bug592.scala
+++ b/test/files/pos/bug592.scala
@@ -22,7 +22,7 @@ abstract class DirectedGraph extends Graph {
override def toString = ""+origin+" --> "+dest
}
- class NodeImpl requires Node extends NodeIntf {
+ class NodeImpl extends NodeIntf { self: Node =>
val id = ids
ids = ids + 1
def connectWith(node: Node): Edge = {
diff --git a/test/files/pos/bug780.scala b/test/files/pos/bug780.scala
index 0b4601c219..7ed6745d9f 100644
--- a/test/files/pos/bug780.scala
+++ b/test/files/pos/bug780.scala
@@ -1,2 +1,2 @@
class B extends A { protected val x = false }
-trait A requires B { x }
+trait A { self: B => x }
diff --git a/test/files/pos/pat_iuli.scala b/test/files/pos/pat_iuli.scala
index 9d5d1c4776..46356ff588 100644
--- a/test/files/pos/pat_iuli.scala
+++ b/test/files/pos/pat_iuli.scala
@@ -1,4 +1,4 @@
-trait Ops requires MyCodes {
+trait Ops { self: MyCodes =>
abstract class Instru
object opcodes {
case class SWITCH(i:Int) extends Instru
@@ -6,7 +6,7 @@ trait Ops requires MyCodes {
}
}
-trait Blox requires MyCodes {
+trait Blox { self: MyCodes =>
import opcodes._
class Basick {
var foo: Instru = null
diff --git a/test/files/pos/philippe4.scala b/test/files/pos/philippe4.scala
index c98aa2236e..9ce3691f5e 100644
--- a/test/files/pos/philippe4.scala
+++ b/test/files/pos/philippe4.scala
@@ -1,3 +1,3 @@
-trait Foo[t <: Foo[t]] requires t {
+trait Foo[t <: Foo[t]] { self: t =>
def foo(that: t): Boolean;
}
diff --git a/test/files/pos/scoping1.scala b/test/files/pos/scoping1.scala
index ee714af1b0..c72df7fa8b 100644
--- a/test/files/pos/scoping1.scala
+++ b/test/files/pos/scoping1.scala
@@ -2,7 +2,7 @@ object This extends Application {
trait A {
def foo(): unit;
}
- class C requires A {
+ class C { self: A =>
def bar() = this.foo();
}
class D extends C with A {
diff --git a/test/files/pos/scoping3.scala b/test/files/pos/scoping3.scala
index 7f45723ce2..c1a65e287f 100644
--- a/test/files/pos/scoping3.scala
+++ b/test/files/pos/scoping3.scala
@@ -15,8 +15,7 @@ object CI {
trait TreeDisplayFinal extends TreeDisplay with TreeDisplayExp {
type TreeNode <: ITreeNode with ITreeNodeExp;
}
- abstract class SimpleTreeDisplay requires TreeDisplayFinal extends
-TreeDisplay {
+ abstract class SimpleTreeDisplay extends TreeDisplay { self: TreeDisplayFinal =>
def display() = { this.getRoot().display(); }
}
}
diff --git a/test/files/pos/unapplyContexts2.scala b/test/files/pos/unapplyContexts2.scala
index fcf1e2ff62..1db8c5160f 100644
--- a/test/files/pos/unapplyContexts2.scala
+++ b/test/files/pos/unapplyContexts2.scala
@@ -2,7 +2,7 @@ trait Analyzer {
val WILDCARD = "23"
}
-trait Contexts2 requires Analyzer {
+trait Contexts2 { self: Analyzer =>
class Context {
def collect(sels: List[String]): List[String] = sels match {
case List(WILDCARD) => val dummy = WILDCARD; Nil