aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/Desugar.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-07 18:25:19 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-07 18:25:19 +0100
commit394c0a7439820fc18665be182fa9839b41d28164 (patch)
tree7a03e468850676f7ce837b83983b6f3287002470 /src/dotty/tools/dotc/ast/Desugar.scala
parent377eb3318cdacd2dfb91d56be3649431ec1155f0 (diff)
downloaddotty-394c0a7439820fc18665be182fa9839b41d28164.tar.gz
dotty-394c0a7439820fc18665be182fa9839b41d28164.tar.bz2
dotty-394c0a7439820fc18665be182fa9839b41d28164.zip
Fixes for translation of pattern definitions (PatDef)
Diffstat (limited to 'src/dotty/tools/dotc/ast/Desugar.scala')
-rw-r--r--src/dotty/tools/dotc/ast/Desugar.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/src/dotty/tools/dotc/ast/Desugar.scala
index 86e584f6b..e72fca195 100644
--- a/src/dotty/tools/dotc/ast/Desugar.scala
+++ b/src/dotty/tools/dotc/ast/Desugar.scala
@@ -352,6 +352,8 @@ object desugar {
val caseDef = CaseDef(pat, EmptyTree, makeTuple(ids))
val matchExpr = Match(rhsUnchecked, caseDef :: Nil)
vars match {
+ case Nil =>
+ matchExpr
case (named, tpt) :: Nil =>
derivedValDef(mods, named, tpt, matchExpr)
case _ =>
@@ -684,9 +686,9 @@ object desugar {
apply(add(tree, tpt), tree1)
case tree @ Bind(_, tree1) =>
apply(add(tree, TypeTree()), tree1)
- case Typed(id: Ident, t) if isVarPattern(id) =>
+ case Typed(id: Ident, t) if isVarPattern(id) && id.name != nme.WILDCARD =>
add(id, t)
- case id: Ident if isVarPattern(id) =>
+ case id: Ident if isVarPattern(id) && id.name != nme.WILDCARD =>
add(id, TypeTree())
case _ =>
foldOver(buf, tree)