aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-11 00:53:05 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-11 01:00:47 +0100
commitcf444641bff609964ee16c5aec19029c1ae04da1 (patch)
tree692bd746164869439ee3b9ec175243ad7fcdac93
parentfb4cbb9823376136217724956056d61288296a06 (diff)
downloadscala-async-cf444641bff609964ee16c5aec19029c1ae04da1.tar.gz
scala-async-cf444641bff609964ee16c5aec19029c1ae04da1.tar.bz2
scala-async-cf444641bff609964ee16c5aec19029c1ae04da1.zip
Synthesize `case 23 => rhs` rather than `case any @ (_: Int) if any == 25)`
-rw-r--r--src/main/scala/scala/async/ExprBuilder.scala14
-rw-r--r--src/test/scala/scala/async/run/await0/Await0Spec.scala1
2 files changed, 1 insertions, 14 deletions
diff --git a/src/main/scala/scala/async/ExprBuilder.scala b/src/main/scala/scala/async/ExprBuilder.scala
index 7d4bf35..e298a05 100644
--- a/src/main/scala/scala/async/ExprBuilder.scala
+++ b/src/main/scala/scala/async/ExprBuilder.scala
@@ -30,13 +30,7 @@ final class ExprBuilder[C <: Context, FS <: FutureSystem](val c: C, val futureSy
// TODO do we need to freshen any of these?
val resume = expandedTermName("resume")
- val any = newTermName("any")
val x1 = newTermName("x$1")
-
- val apply = newTermName("apply")
- val isDefinedAt = newTermName("isDefinedAt")
-
- val asyncHander = expandedTypeName("Handler")
}
private val execContext = futureSystemOps.execContext
@@ -71,13 +65,7 @@ final class ExprBuilder[C <: Context, FS <: FutureSystem](val c: C, val futureSy
mkHandlerCase(num, Block(rhs: _*))
def mkHandlerCase(num: Int, rhs: c.Tree): CaseDef =
- CaseDef(
- // pattern
- Bind(name.any, Typed(Ident(nme.WILDCARD), Ident(definitions.IntClass))),
- // guard
- mkAny_==(c.Expr(Ident(name.any)))(c.literal(num)).tree,
- rhs
- )
+ CaseDef(c.literal(num).tree, EmptyTree, rhs)
private def paramValDef(name: TermName, sym: Symbol) = ValDef(Modifiers(PARAM), name, Ident(sym), EmptyTree)
diff --git a/src/test/scala/scala/async/run/await0/Await0Spec.scala b/src/test/scala/scala/async/run/await0/Await0Spec.scala
index 50c8fa2..42d4ef2 100644
--- a/src/test/scala/scala/async/run/await0/Await0Spec.scala
+++ b/src/test/scala/scala/async/run/await0/Await0Spec.scala
@@ -70,4 +70,3 @@ class Await0Spec {
res mustBe (26.0)
}
}
-