summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-12-06 22:39:22 +0000
committerPaul Phillips <paulp@improving.org>2010-12-06 22:39:22 +0000
commit7806112e43776fc812c93ec9cabd5cbd1953c4a6 (patch)
tree5f0c7a92546b0bdff8a4bbf149f481a50c149817 /src
parent1113f7ddca4f1814396e0de9f586c300b135f157 (diff)
downloadscala-7806112e43776fc812c93ec9cabd5cbd1953c4a6.tar.gz
scala-7806112e43776fc812c93ec9cabd5cbd1953c4a6.tar.bz2
scala-7806112e43776fc812c93ec9cabd5cbd1953c4a6.zip
Don't transform patterns during superaccessors:...
Don't transform patterns during superaccessors: the matcher can't deal with funny trees. Closes #4062, review by dragos.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
index c1a44dba93..5d19d469b5 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
@@ -144,6 +144,10 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT
else tree
try tree match {
+ // Don't transform patterns or strange trees will reach the matcher (ticket #4062)
+ case CaseDef(pat, guard, body) =>
+ treeCopy.CaseDef(tree, pat, transform(guard), transform(body))
+
case ClassDef(_, _, _, _) =>
checkCompanionNameClashes(sym)
val decls = sym.info.decls