aboutsummaryrefslogtreecommitdiff
path: root/src/async
diff options
context:
space:
mode:
authorphaller <hallerp@gmail.com>2012-10-31 02:11:20 +0100
committerphaller <hallerp@gmail.com>2012-10-31 02:11:20 +0100
commit5c87d7d1ecf528360d74f219d8a857a516514cdd (patch)
treef86ac1dbcd243107f3df6d6cd465ae1a7d9bb803 /src/async
parent1584de89b122fbea98b95bdb4a3a45205c932842 (diff)
downloadscala-async-5c87d7d1ecf528360d74f219d8a857a516514cdd.tar.gz
scala-async-5c87d7d1ecf528360d74f219d8a857a516514cdd.tar.bz2
scala-async-5c87d7d1ecf528360d74f219d8a857a516514cdd.zip
Fix #2
Diffstat (limited to 'src/async')
-rw-r--r--src/async/library/scala/async/ExprBuilder.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/async/library/scala/async/ExprBuilder.scala b/src/async/library/scala/async/ExprBuilder.scala
index 32af1b3..776cc7b 100644
--- a/src/async/library/scala/async/ExprBuilder.scala
+++ b/src/async/library/scala/async/ExprBuilder.scala
@@ -267,12 +267,16 @@ class ExprBuilder[C <: Context with Singleton](val c: C) extends AsyncUtils {
mkHandlerTree(state, Block((stats :+ mkOnCompleteStateTree(nextState)): _*))
}
- //TODO: complete for other primitive types, how to handle value classes?
override def varDefForResult: Option[c.Tree] = {
val rhs =
if (resultType <:< definitions.IntTpe) Literal(Constant(0))
else if (resultType <:< definitions.LongTpe) Literal(Constant(0L))
else if (resultType <:< definitions.BooleanTpe) Literal(Constant(false))
+ else if (resultType <:< definitions.FloatTpe) Literal(Constant(0.0f))
+ else if (resultType <:< definitions.DoubleTpe) Literal(Constant(0.0d))
+ else if (resultType <:< definitions.CharTpe) Literal(Constant(0.toChar))
+ else if (resultType <:< definitions.ShortTpe) Literal(Constant(0.toShort))
+ else if (resultType <:< definitions.ByteTpe) Literal(Constant(0.toByte))
else Literal(Constant(null))
Some(
ValDef(Modifiers(Flag.MUTABLE), resultName, TypeTree(resultType), rhs)