summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-01-20 01:07:12 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-01-26 12:56:11 +0100
commit05ad68203a2a54973f77e8dc03757a3d0812182c (patch)
tree27a7bc6a67d53264ffd17bd26418f438427d0177 /src
parent6f72ed85c3882d2a8c824a41e6e42d7f33b8d1d6 (diff)
downloadscala-05ad68203a2a54973f77e8dc03757a3d0812182c.tar.gz
scala-05ad68203a2a54973f77e8dc03757a3d0812182c.tar.bz2
scala-05ad68203a2a54973f77e8dc03757a3d0812182c.zip
Make value classes TreeCheckers friendly
- allow for re-typechecking by disabling "redefinition of equals" errors for synthetic methods.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index cbcddba487..16da265fa2 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -1452,7 +1452,7 @@ trait Typers extends Modes with Adaptations with Tags {
case DefDef(_, name, _, _, _, rhs) =>
if (stat.symbol.isAuxiliaryConstructor)
notAllowed("secondary constructor")
- else if (isValueClass && (name == nme.equals_ || name == nme.hashCode_))
+ else if (isValueClass && (name == nme.equals_ || name == nme.hashCode_) && !stat.symbol.isSynthetic)
notAllowed(s"redefinition of $name method. See SIP-15, criterion 4.")
else if (stat.symbol != null && stat.symbol.isParamAccessor)
notAllowed("additional parameter")