summaryrefslogtreecommitdiff
path: root/test/files/run/absoverride.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2008-05-20 10:00:59 +0000
committermichelou <michelou@epfl.ch>2008-05-20 10:00:59 +0000
commit3d7e820e9bc7d67023949eeecedb1b6bdedf53f5 (patch)
tree2f04564cddd36f1d3c18927c9cc6348e4ba4ce5f /test/files/run/absoverride.scala
parent7e9f81fd531972aa7e7c6a938e7cc23f7f3ab7dc (diff)
downloadscala-3d7e820e9bc7d67023949eeecedb1b6bdedf53f5.tar.gz
scala-3d7e820e9bc7d67023949eeecedb1b6bdedf53f5.tar.bz2
scala-3d7e820e9bc7d67023949eeecedb1b6bdedf53f5.zip
int -> Int, etc..
Diffstat (limited to 'test/files/run/absoverride.scala')
-rw-r--r--test/files/run/absoverride.scala20
1 files changed, 12 insertions, 8 deletions
diff --git a/test/files/run/absoverride.scala b/test/files/run/absoverride.scala
index cf14ff475b..a3c03df0d7 100644
--- a/test/files/run/absoverride.scala
+++ b/test/files/run/absoverride.scala
@@ -1,35 +1,39 @@
abstract class AbsIterator {
type T
- def hasNext: boolean
+ def hasNext: Boolean
def next: T
}
+
trait RichIterator extends AbsIterator {
- def foreach(f: T => unit): unit =
+ def foreach(f: T => Unit) {
while (hasNext) f(next)
+ }
}
+
class StringIterator(s: String) extends AbsIterator {
- type T = char
+ type T = Char
private var i = 0
def hasNext = i < s.length()
- def next = { val x = s.charAt(i); i = i + 1; Console.println("next: " + x); x }
+ def next = { val x = s.charAt(i); i += 1; println("next: " + x); x }
}
+
trait SyncIterator extends AbsIterator {
- abstract override def hasNext: boolean =
+ abstract override def hasNext: Boolean =
synchronized(super.hasNext)
abstract override def next: T =
synchronized {
- Console.println("<sync>"); val x = super.next; Console.println("</sync>"); x
+ println("<sync>"); val x = super.next; println("</sync>"); x
}
}
trait LoggedIterator extends AbsIterator {
abstract override def next: T = {
- val x = super.next; Console.println("log: " + x); x
+ val x = super.next; println("log: " + x); x
}
}
class Iter2(s: String) extends StringIterator(s)
with SyncIterator with LoggedIterator;
object Test {
- def main(args: Array[String]): unit = {
+ def main(args: Array[String]) {
class Iter extends StringIterator(args(0)) with RichIterator with SyncIterator with LoggedIterator
val iter = new Iter
iter foreach Console.println