aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/scala/async/TreeInterrogation.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/scala/async/TreeInterrogation.scala')
-rw-r--r--src/test/scala/scala/async/TreeInterrogation.scala52
1 files changed, 24 insertions, 28 deletions
diff --git a/src/test/scala/scala/async/TreeInterrogation.scala b/src/test/scala/scala/async/TreeInterrogation.scala
index dd239a3..f005b8a 100644
--- a/src/test/scala/scala/async/TreeInterrogation.scala
+++ b/src/test/scala/scala/async/TreeInterrogation.scala
@@ -38,33 +38,29 @@ class TreeInterrogation {
}
varDefs.map(_.decoded).toSet mustBe (Set("state$async", "onCompleteHandler$async", "await$1", "await$2"))
}
+}
- //@Test
- def sandbox() {
- sys.props("scala.async.debug") = true.toString
- sys.props("scala.async.trace") = false.toString
+object TreeInterrogation extends App {
+ sys.props("scala.async.debug") = true.toString
+ sys.props("scala.async.trace") = true.toString
- val cm = reflect.runtime.currentMirror
- val tb = mkToolbox("-cp target/scala-2.10/classes")
- val tree = tb.parse(
- """ import _root_.scala.async.AsyncId._
- | async {
- | var sum = 0
- | var i = 0
- | while (i < 5) {
- | var j = 0
- | while (j < 5) {
- | sum += await(i) * await(j)
- | j += 1
- | }
- | i += 1
- | }
- | sum
- | }
- | """.stripMargin)
- println(tree)
- val tree1 = tb.typeCheck(tree.duplicate)
- println(cm.universe.show(tree1))
- println(tb.eval(tree))
- }
-}
+ val cm = reflect.runtime.currentMirror
+ val tb = mkToolbox("-cp target/scala-2.10/classes -Xprint:all")
+ val tree = tb.parse(
+ """ import _root_.scala.async.AsyncId._
+ | async {
+ | val x = 1
+ | Option(x) match {
+ | case op @ Some(x) =>
+ | assert(op != null)
+ | println((op, x))
+ | x + await(x)
+ | case None => await(0)
+ | }
+ | }
+ | """.stripMargin)
+ println(tree)
+ val tree1 = tb.typeCheck(tree.duplicate)
+ println(cm.universe.show(tree1))
+ println(tb.eval(tree))
+} \ No newline at end of file