diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-03-29 15:04:19 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-03-29 15:04:19 -0700 |
commit | 7894c1b24fddc91fbec53a9906e3c8b8e8a4e61a (patch) | |
tree | 85dfdc66f525702e414cb7cd3833fe579301cad7 /src/compiler/scala/tools/nsc/typechecker/Namers.scala | |
parent | 1debc74374e9c3de52d1333b695db61e7a69a57b (diff) | |
parent | 844cef628c809de24d908b9a51760ff33d0db345 (diff) | |
download | scala-7894c1b24fddc91fbec53a9906e3c8b8e8a4e61a.tar.gz scala-7894c1b24fddc91fbec53a9906e3c8b8e8a4e61a.tar.bz2 scala-7894c1b24fddc91fbec53a9906e3c8b8e8a4e61a.zip |
Merge pull request #2305 from retronym/ticket/7296-2
SI-7296 Lifting the limit on case class arity
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Namers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index fe9608368d..07c1e732d3 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -654,9 +654,6 @@ trait Namers extends MethodSynthesis { tree.symbol setInfo completerOf(tree) if (mods.isCase) { - if (primaryConstructorArity > MaxFunctionArity) - MaxParametersCaseClassError(tree) - val m = ensureCompanionObject(tree, caseModuleDef) m.moduleClass.updateAttachment(new ClassForCaseCompanionAttachment(tree)) } @@ -1373,7 +1370,9 @@ trait Namers extends MethodSynthesis { if (!cdef.symbol.hasAbstractFlag) namer.enterSyntheticSym(caseModuleApplyMeth(cdef)) - namer.enterSyntheticSym(caseModuleUnapplyMeth(cdef)) + val primaryConstructorArity = treeInfo.firstConstructorArgs(cdef.impl.body).size + if (primaryConstructorArity <= MaxTupleArity) + namer.enterSyntheticSym(caseModuleUnapplyMeth(cdef)) } def addCopyMethod(cdef: ClassDef, namer: Namer) { |