diff options
author | Philipp Haller <hallerp@gmail.com> | 2013-04-26 18:36:28 +0200 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2013-04-26 18:36:28 +0200 |
commit | 2754ff01ebec6b1603f6ecda5f6fc78d974093a4 (patch) | |
tree | f36e0650859f30131e372c8b078b7eabd5c7117e /src/main/scala/scala/async/Async.scala | |
parent | 782d4c8bed1bf2da2e28becbec3d168d1c11d1fa (diff) | |
download | scala-async-2754ff01ebec6b1603f6ecda5f6fc78d974093a4.tar.gz scala-async-2754ff01ebec6b1603f6ecda5f6fc78d974093a4.tar.bz2 scala-async-2754ff01ebec6b1603f6ecda5f6fc78d974093a4.zip |
Abstract from Try in onComplete of FutureSystem#Ops
Adds `Result[A]` type member to `FutureSystem` and
`def resultType[A]` to `FutureSystem#Ops`.
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 35d3687..1cfae1b 100644 --- a/src/main/scala/scala/async/Async.scala +++ b/src/main/scala/scala/async/Async.scala @@ -108,7 +108,7 @@ abstract class AsyncBase { val onCompleteHandler = { Function( - List(ValDef(Modifiers(Flag.PARAM), name.tr, TypeTree(defn.TryAnyType), EmptyTree)), + List(ValDef(Modifiers(Flag.PARAM), name.tr, TypeTree(futureSystemOps.resultType[Any]), EmptyTree)), asyncBlock.onCompleteHandler) } val resumeFunTree = asyncBlock.resumeFunTree[T] @@ -121,14 +121,14 @@ abstract class AsyncBase { val result = ValDef(NoMods, name.result, TypeTree(futureSystemOps.promType[T]), futureSystemOps.createProm[T].tree) val execContext = ValDef(NoMods, name.execContext, TypeTree(), futureSystemOps.execContext.tree) val applyDefDef: DefDef = { - val applyVParamss = List(List(ValDef(Modifiers(Flag.PARAM), name.tr, TypeTree(defn.TryAnyType), EmptyTree))) + val applyVParamss = List(List(ValDef(Modifiers(Flag.PARAM), name.tr, TypeTree(futureSystemOps.resultType[Any]), EmptyTree))) val applyBody = asyncBlock.onCompleteHandler DefDef(NoMods, name.apply, Nil, applyVParamss, TypeTree(definitions.UnitTpe), applyBody) } val apply0DefDef: DefDef = { // We extend () => Unit so we can pass this class as the by-name argument to `Future.apply`. // See SI-1247 for the the optimization that avoids creatio - val applyVParamss = List(List(ValDef(Modifiers(Flag.PARAM), name.tr, TypeTree(defn.TryAnyType), EmptyTree))) + val applyVParamss = List(List(ValDef(Modifiers(Flag.PARAM), name.tr, TypeTree(futureSystemOps.resultType[Any]), EmptyTree))) val applyBody = asyncBlock.onCompleteHandler DefDef(NoMods, name.apply, Nil, Nil, TypeTree(definitions.UnitTpe), Apply(Ident(name.resume), Nil)) } |