aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/Async.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-23 15:58:13 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-23 17:28:19 +0100
commit4c1c9fcf075d6e1e5975a04c5a2ced674716069a (patch)
tree3b507edc6b3e33bafd9fe69cfbc7dbe3ff7514b9 /src/main/scala/scala/async/Async.scala
parent8658394b2cbd70db4fcb9048c347bb6b6c4db628 (diff)
downloadscala-async-4c1c9fcf075d6e1e5975a04c5a2ced674716069a.tar.gz
scala-async-4c1c9fcf075d6e1e5975a04c5a2ced674716069a.tar.bz2
scala-async-4c1c9fcf075d6e1e5975a04c5a2ced674716069a.zip
Fix #31, Unfinished ANF transform
Prepend {(); ... } before starting the ANF transform. Add tracing to the anf/inline transform. Also enables and addresses SIP-18 warnings.
Diffstat (limited to 'src/main/scala/scala/async/Async.scala')
-rw-r--r--src/main/scala/scala/async/Async.scala7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/main/scala/scala/async/Async.scala b/src/main/scala/scala/async/Async.scala
index 0b77c78..ed79d0b 100644
--- a/src/main/scala/scala/async/Async.scala
+++ b/src/main/scala/scala/async/Async.scala
@@ -78,12 +78,9 @@ abstract class AsyncBase {
// - no await calls in qualifiers or arguments,
// - if/match only used in statement position.
val anfTree: Block = {
- val transform = new AnfTransform[c.type](c)
- val unique = transform.uniqueNames(body.tree)
- val stats1 :+ expr1 = transform.anf.transformToList(unique)
-
+ val anf = AnfTranform(c)
+ val stats1 :+ expr1 = anf(body.tree)
val block = Block(stats1, expr1)
-
c.typeCheck(block).asInstanceOf[Block]
}