aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/Async.scala
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2013-04-26 18:36:28 +0200
committerPhilipp Haller <hallerp@gmail.com>2013-04-26 18:36:28 +0200
commit2754ff01ebec6b1603f6ecda5f6fc78d974093a4 (patch)
treef36e0650859f30131e372c8b078b7eabd5c7117e /src/main/scala/scala/async/Async.scala
parent782d4c8bed1bf2da2e28becbec3d168d1c11d1fa (diff)
downloadscala-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.scala6
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))
}