diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 00:21:41 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 00:21:41 +0100 |
commit | 3ef2995f0923fe7b2346cfd5f816196fce0f00ac (patch) | |
tree | da98967ccca117a452069fd8c117f4caecf64907 /src/test/scala/scala/async/TreeInterrogation.scala | |
parent | 08bd93c20bcdd1bddc172c1477e811e8fc7f8ebd (diff) | |
download | scala-async-3ef2995f0923fe7b2346cfd5f816196fce0f00ac.tar.gz scala-async-3ef2995f0923fe7b2346cfd5f816196fce0f00ac.tar.bz2 scala-async-3ef2995f0923fe7b2346cfd5f816196fce0f00ac.zip |
Prohibit await in if condition (for now)
Test nested loops.
Control ANF tracing with another system property.
Diffstat (limited to 'src/test/scala/scala/async/TreeInterrogation.scala')
-rw-r--r-- | src/test/scala/scala/async/TreeInterrogation.scala | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/test/scala/scala/async/TreeInterrogation.scala b/src/test/scala/scala/async/TreeInterrogation.scala index 08d2c78..485831b 100644 --- a/src/test/scala/scala/async/TreeInterrogation.scala +++ b/src/test/scala/scala/async/TreeInterrogation.scala @@ -32,29 +32,32 @@ class TreeInterrogation { val varDefs = tree1.collect { case ValDef(mods, name, _, _) if mods.hasFlag(Flag.MUTABLE) => name } - varDefs.map(_.decoded).toSet mustBe(Set("state$async", "onCompleteHandler$async", "await$1", "await$2")) + varDefs.map(_.decoded).toSet mustBe (Set("state$async", "onCompleteHandler$async", "await$1", "await$2")) } - @Test + //@Test def sandbox() { - sys.props("scala.async.debug") = "true" + sys.props("scala.async.debug") = true.toString + sys.props("scala.async.trace") = false.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 xxx: Int = 0 - | var y = 0 - | println("before while") - | while (xxx < 3) { - | println("in while before await") - | y = await(xxx) - | println("in while after await") - | xxx = xxx + 1 + | var sum = 0 + | var i = 0 + | while (i < 5) { + | var j = 0 + | while (j < 5) { + | sum += await(i) * await(j) + | j += 1 + | } + | i += 1 | } - | println("after while") - | y - | }""".stripMargin) + | sum + | } + | """.stripMargin) println(tree) val tree1 = tb.typeCheck(tree.duplicate) println(cm.universe.show(tree1)) |