diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 09:07:22 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 09:07:22 +0100 |
commit | 535ca23858a233978ce874d5cbad7d586f1e8635 (patch) | |
tree | 3b7cfd01833c31e6008eeb28b66d64958ac4a414 /src/main/scala/scala/async/Async.scala | |
parent | 77fcdb0e5bc5827583566b684a1242326606d0cb (diff) | |
download | scala-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.scala | 5 |
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 { |