aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/scala/async/Async.scala2
-rw-r--r--src/main/scala/scala/async/ExprBuilder.scala6
2 files changed, 5 insertions, 3 deletions
diff --git a/src/main/scala/scala/async/Async.scala b/src/main/scala/scala/async/Async.scala
index 9f43b0b..4f7fa01 100644
--- a/src/main/scala/scala/async/Async.scala
+++ b/src/main/scala/scala/async/Async.scala
@@ -139,7 +139,7 @@ abstract class AsyncBase {
// Initialize the state
var state$async = 0
// Resolve the execution context
- var execContext$async = futureSystemOps.execContext.splice
+ val execContext$async = futureSystemOps.execContext.splice
var onCompleteHandler$async: util.Try[Any] => Unit = null
// Spawn a future to:
diff --git a/src/main/scala/scala/async/ExprBuilder.scala b/src/main/scala/scala/async/ExprBuilder.scala
index 09489d4..1a3f866 100644
--- a/src/main/scala/scala/async/ExprBuilder.scala
+++ b/src/main/scala/scala/async/ExprBuilder.scala
@@ -34,6 +34,8 @@ final class ExprBuilder[C <: Context, FS <: FutureSystem](val c: C, val futureSy
val x1 = newTermName("x$1")
val tr = newTermName("tr")
val onCompleteHandler = suffixedName("onCompleteHandler")
+
+ def fresh(name: TermName) = newTermName(c.fresh("" + name + "$"))
}
private val execContext = futureSystemOps.execContext
@@ -295,7 +297,7 @@ final class ExprBuilder[C <: Context, FS <: FutureSystem](val c: C, val futureSy
for (stat <- stats) stat match {
// the val name = await(..) pattern
case ValDef(mods, name, tpt, Apply(fun, args)) if fun.symbol == Async_await =>
- val newName = c.fresh(name)
+ val newName = builder.name.fresh(name)
toRename += (stat.symbol -> newName)
asyncStates += stateBuilder.complete(args.head, newName, tpt, toRename).result // complete with await
@@ -309,7 +311,7 @@ final class ExprBuilder[C <: Context, FS <: FutureSystem](val c: C, val futureSy
case ValDef(mods, name, tpt, rhs) =>
checkForUnsupportedAwait(rhs)
- val newName = c.fresh(name)
+ val newName = builder.name.fresh(name)
toRename += (stat.symbol -> newName)
// when adding assignment need to take `toRename` into account
stateBuilder.addVarDef(mods, newName, tpt, rhs, toRename)