diff options
author | Philipp Haller <hallerp@gmail.com> | 2013-04-26 19:02:14 +0200 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2013-04-26 19:02:14 +0200 |
commit | ffab92802c130c7e881440d360e7cef051b7f3d4 (patch) | |
tree | 3758477656778d29f37f0fc2c902c0112a0d9a6e /src/main/scala/scala/async/Async.scala | |
parent | 2754ff01ebec6b1603f6ecda5f6fc78d974093a4 (diff) | |
download | scala-async-ffab92802c130c7e881440d360e7cef051b7f3d4.tar.gz scala-async-ffab92802c130c7e881440d360e7cef051b7f3d4.tar.bz2 scala-async-ffab92802c130c7e881440d360e7cef051b7f3d4.zip |
Abstract over type of generated state machine
Removes method `TransformUtils.applied`.
Diffstat (limited to 'src/main/scala/scala/async/Async.scala')
-rw-r--r-- | src/main/scala/scala/async/Async.scala | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main/scala/scala/async/Async.scala b/src/main/scala/scala/async/Async.scala index 1cfae1b..c480b62 100644 --- a/src/main/scala/scala/async/Async.scala +++ b/src/main/scala/scala/async/Async.scala @@ -113,7 +113,7 @@ abstract class AsyncBase { } val resumeFunTree = asyncBlock.resumeFunTree[T] - val stateMachineType = utils.applied("scala.async.StateMachine", List(futureSystemOps.promType[T], futureSystemOps.execContextType)) + val stateMachineType = futureSystemOps.stateMachineType[T] lazy val stateMachine: ClassDef = { val body: List[Tree] = { @@ -135,7 +135,7 @@ abstract class AsyncBase { List(utils.emptyConstructor, stateVar, result, execContext) ++ localVarTrees ++ List(resumeFunTree, applyDefDef, apply0DefDef) } val template = { - Template(List(stateMachineType), emptyValDef, body) + Template(List(TypeTree(stateMachineType)), emptyValDef, body) } ClassDef(NoMods, name.stateMachineT, Nil, template) } @@ -150,7 +150,7 @@ abstract class AsyncBase { else { Block(List[Tree]( stateMachine, - ValDef(NoMods, name.stateMachine, stateMachineType, Apply(Select(New(Ident(name.stateMachineT)), nme.CONSTRUCTOR), Nil)), + ValDef(NoMods, name.stateMachine, TypeTree(stateMachineType), Apply(Select(New(Ident(name.stateMachineT)), nme.CONSTRUCTOR), Nil)), futureSystemOps.spawn(Apply(selectStateMachine(name.apply), Nil)) ), futureSystemOps.promiseToFuture(c.Expr[futureSystem.Prom[T]](selectStateMachine(name.result))).tree) |