aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/Async.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-24 09:07:22 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-24 09:07:22 +0100
commit535ca23858a233978ce874d5cbad7d586f1e8635 (patch)
tree3b7cfd01833c31e6008eeb28b66d64958ac4a414 /src/main/scala/scala/async/Async.scala
parent77fcdb0e5bc5827583566b684a1242326606d0cb (diff)
downloadscala-async-535ca23858a233978ce874d5cbad7d586f1e8635.tar.gz
scala-async-535ca23858a233978ce874d5cbad7d586f1e8635.tar.bz2
scala-async-535ca23858a233978ce874d5cbad7d586f1e8635.zip
Cleanup var lifting.
Seeing as we know in advance the full set of lifted vars, we don't need to thread this information through ExprBuilder.
Diffstat (limited to 'src/main/scala/scala/async/Async.scala')
-rw-r--r--src/main/scala/scala/async/Async.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/scala/scala/async/Async.scala b/src/main/scala/scala/async/Async.scala
index 106bdf0..7d9ddf5 100644
--- a/src/main/scala/scala/async/Async.scala
+++ b/src/main/scala/scala/async/Async.scala
@@ -103,7 +103,10 @@ abstract class AsyncBase {
import asyncBlockBuilder.asyncStates
logDiagnostics(c)(anfTree, asyncStates.map(_.toString))
val initStates = asyncStates.init
- val localVarTrees = asyncStates.flatMap(_.allVarDefs).toList
+ val localVarTrees = anfTree.collect {
+ case vd@ValDef(_, _, tpt, _) if renameMap contains vd.symbol =>
+ builder.mkVarDefTree(tpt.tpe, renameMap(vd.symbol))
+ }
/*
lazy val onCompleteHandler = (tr: Try[Any]) => state match {