diff options
author | Tiark Rompf <tiark.rompf@epfl.ch> | 2010-03-11 16:55:38 +0000 |
---|---|---|
committer | Tiark Rompf <tiark.rompf@epfl.ch> | 2010-03-11 16:55:38 +0000 |
commit | f584d243487dcd1214291167707e2f53fef5ab5e (patch) | |
tree | af3e926d301193b259d27567470b4c483efbecbe /test/pending | |
parent | 356540e284e9c9407151a44afdb9480d8eb137a1 (diff) | |
download | scala-f584d243487dcd1214291167707e2f53fef5ab5e.tar.gz scala-f584d243487dcd1214291167707e2f53fef5ab5e.tar.bz2 scala-f584d243487dcd1214291167707e2f53fef5ab5e.zip |
moved the continuations plugin into trunk.
Diffstat (limited to 'test/pending')
19 files changed, 226 insertions, 0 deletions
diff --git a/test/pending/continuations-run/example0.scala b/test/pending/continuations-run/example0.scala new file mode 100644 index 0000000000..44b1331339 --- /dev/null +++ b/test/pending/continuations-run/example0.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test0.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example1.scala b/test/pending/continuations-run/example1.scala new file mode 100644 index 0000000000..195a98e59f --- /dev/null +++ b/test/pending/continuations-run/example1.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test1.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example16.scala b/test/pending/continuations-run/example16.scala new file mode 100644 index 0000000000..5eb64046ed --- /dev/null +++ b/test/pending/continuations-run/example16.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test16Printf.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example2.scala b/test/pending/continuations-run/example2.scala new file mode 100644 index 0000000000..0d96257c40 --- /dev/null +++ b/test/pending/continuations-run/example2.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test2.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example3.scala b/test/pending/continuations-run/example3.scala new file mode 100644 index 0000000000..3f5052a4ad --- /dev/null +++ b/test/pending/continuations-run/example3.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test3.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example4.scala b/test/pending/continuations-run/example4.scala new file mode 100644 index 0000000000..66c6774791 --- /dev/null +++ b/test/pending/continuations-run/example4.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test4.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example5.scala b/test/pending/continuations-run/example5.scala new file mode 100644 index 0000000000..0994bdee8a --- /dev/null +++ b/test/pending/continuations-run/example5.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test5.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example6.scala b/test/pending/continuations-run/example6.scala new file mode 100644 index 0000000000..5207e3fc68 --- /dev/null +++ b/test/pending/continuations-run/example6.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test6.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example7.scala b/test/pending/continuations-run/example7.scala new file mode 100644 index 0000000000..fb22387dac --- /dev/null +++ b/test/pending/continuations-run/example7.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test7.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example8.scala b/test/pending/continuations-run/example8.scala new file mode 100644 index 0000000000..8e21e6c674 --- /dev/null +++ b/test/pending/continuations-run/example8.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test8.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/example9.scala b/test/pending/continuations-run/example9.scala new file mode 100644 index 0000000000..0f27c686f7 --- /dev/null +++ b/test/pending/continuations-run/example9.scala @@ -0,0 +1,9 @@ +// $Id$ + +object Test { + + def main(args: Array[String]): Any = { + examples.continuations.Test9Monads.main(args) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/foreach.check b/test/pending/continuations-run/foreach.check new file mode 100644 index 0000000000..9bab7a2eed --- /dev/null +++ b/test/pending/continuations-run/foreach.check @@ -0,0 +1,4 @@ +1 +2 +3 +enough is enough
\ No newline at end of file diff --git a/test/pending/continuations-run/foreach.scala b/test/pending/continuations-run/foreach.scala new file mode 100644 index 0000000000..4daade452c --- /dev/null +++ b/test/pending/continuations-run/foreach.scala @@ -0,0 +1,33 @@ +// $Id$ + +import scala.util.continuations._ + +import scala.util.continuations.Loops._ + +object Test { + + def main(args: Array[String]): Any = { + + + reset { + + val list = List(1,2,3,4,5) + + for (x <- list.suspendable) { + + shift { k: (Unit => Unit) => + println(x) + if (x < 3) + k() + else + println("enough is enough") + } + + } + + } + + + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/function6.scala b/test/pending/continuations-run/function6.scala new file mode 100644 index 0000000000..f1296ae410 --- /dev/null +++ b/test/pending/continuations-run/function6.scala @@ -0,0 +1,15 @@ +// $Id$ + +import scala.util.continuations._ + + +object Test { + + def main(args: Array[String]): Any = { + + val g: PartialFunction[Int, Int @cps[Int,Int]] = { case x => 7 } + + println(reset(g(2))) + } + +}
\ No newline at end of file diff --git a/test/pending/continuations-run/select-run.log b/test/pending/continuations-run/select-run.log new file mode 100644 index 0000000000..6faa868ce3 --- /dev/null +++ b/test/pending/continuations-run/select-run.log @@ -0,0 +1,20 @@ +8 +java.lang.ClassCastException: scala.util.continuations.ControlContext cannot be cast to java.lang.Integer + at scala.runtime.BoxesRunTime.unboxToInt(Unknown Source) + at Test$$anonfun$main$2.apply(select.scala:18) + at Test$$anonfun$main$2.apply(select.scala:18) + at scala.util.continuations.ControlContext$.reset(ControlContext.scala:65) + at Test$.main(select.scala:18) + at Test.main(select.scala) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:597) + at scala.tools.nsc.util.ScalaClassLoader$$anonfun$run$1.apply(ScalaClassLoader.scala:55) + at scala.tools.nsc.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:22) + at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:61) + at scala.tools.nsc.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:55) + at scala.tools.nsc.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:61) + at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:33) + at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:153) + at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala) diff --git a/test/pending/continuations-run/select.check b/test/pending/continuations-run/select.check new file mode 100644 index 0000000000..620ce84217 --- /dev/null +++ b/test/pending/continuations-run/select.check @@ -0,0 +1,2 @@ +8 +8
\ No newline at end of file diff --git a/test/pending/continuations-run/select.scala b/test/pending/continuations-run/select.scala new file mode 100644 index 0000000000..faf5842329 --- /dev/null +++ b/test/pending/continuations-run/select.scala @@ -0,0 +1,21 @@ +// $Id$ + +import scala.util.continuations._ + + +object Test { + + class Bla { + val x = 8 + } + + def bla = shift { k:(Bla=>Bla) => k(new Bla) } + + // TODO: check whether this also applies to a::shift { k => ... } + + def main(args: Array[String]) = { + println(reset(bla).x) + println(reset(bla.x)) + } + +} diff --git a/test/pending/continuations-run/t2864.scala b/test/pending/continuations-run/t2864.scala new file mode 100644 index 0000000000..291e739332 --- /dev/null +++ b/test/pending/continuations-run/t2864.scala @@ -0,0 +1,18 @@ +// $Id$ + +import scala.util.continuations._ + + + +object Test { + + def double[B](n : Int)(k : Int => B) : B = k(n * 2) + + def main(args : Array[String]) { + reset { + val result1 = shift(double[Unit](100)) + val result2 = shift(double[Unit](result1)) + println(result2) + } + } +}
\ No newline at end of file diff --git a/test/pending/continuations-run/t2934.scala b/test/pending/continuations-run/t2934.scala new file mode 100644 index 0000000000..6089355bcf --- /dev/null +++ b/test/pending/continuations-run/t2934.scala @@ -0,0 +1,14 @@ +// $Id$ + +import scala.util.continuations._ + + +object Test { + + def main(args : Array[String]) { + println(reset { + val x = shift(List(1,2,3).flatMap[Int, List[Int]]) + List(x + 2) + }) + } +}
\ No newline at end of file |