summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Namers.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-03-29 15:04:19 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-03-29 15:04:19 -0700
commit7894c1b24fddc91fbec53a9906e3c8b8e8a4e61a (patch)
tree85dfdc66f525702e414cb7cd3833fe579301cad7 /src/compiler/scala/tools/nsc/typechecker/Namers.scala
parent1debc74374e9c3de52d1333b695db61e7a69a57b (diff)
parent844cef628c809de24d908b9a51760ff33d0db345 (diff)
downloadscala-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.scala7
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) {