diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-01-20 01:07:12 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-01-26 12:56:11 +0100 |
commit | 05ad68203a2a54973f77e8dc03757a3d0812182c (patch) | |
tree | 27a7bc6a67d53264ffd17bd26418f438427d0177 | |
parent | 6f72ed85c3882d2a8c824a41e6e42d7f33b8d1d6 (diff) | |
download | scala-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.
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 2 |
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") |