summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBurak Emir <emir@epfl.ch>2006-11-16 16:03:30 +0000
committerBurak Emir <emir@epfl.ch>2006-11-16 16:03:30 +0000
commit23c02cb584b8b0311aaba4f6675f5078d9dfd6d7 (patch)
treef38e9abeb7540d06fb22b6274f35ba4e842058c8 /src
parent9f54fe8bd04e9820cfd04e0ee18da12395269129 (diff)
downloadscala-23c02cb584b8b0311aaba4f6675f5078d9dfd6d7.tar.gz
scala-23c02cb584b8b0311aaba4f6675f5078d9dfd6d7.tar.bz2
scala-23c02cb584b8b0311aaba4f6675f5078d9dfd6d7.zip
fix bug#825
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
index d38c7e144a..083887dd69 100644
--- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
@@ -387,8 +387,16 @@ abstract class ExplicitOuter extends InfoTransform with TransMatcher with Patter
Console.println("transforming patmat with tidmark "+q+" ncases = "+cases.length)
q
} else null
- if ((cases.length > 1) && (treeInfo.isDefaultCase(cases(0))))
- assert(false,"transforming too much, " + tid)
+
+ cases match {
+ //if ((cases.length > 1) && ...(cases(0)))
+ //can't use treeInfo.isDefaultCase, because that diagnoses a Bind
+ case CaseDef(Ident(nme.WILDCARD), EmptyTree, _)::xs if !xs.isEmpty =>
+ // a hack to detect when explicit outer does not work correctly
+ // still needed?
+ assert(false,"transforming too much, " + tid)
+ case _ =>
+ }
val nselector = transform(selector)
assert(nselector.tpe =:= selector.tpe)