diff options
author | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-11-27 22:13:17 +0000 |
---|---|---|
committer | Aleksandar Pokopec <aleksandar.prokopec@epfl.ch> | 2010-11-27 22:13:17 +0000 |
commit | 14e47d131b1d395a3c636bef815706dd60171011 (patch) | |
tree | 9e4053ac95c3bf00a5b84cd450120e7718f86e6e | |
parent | 59c95e3e927e5b48fc4e44d114530fea0ab15d92 (diff) | |
download | scala-14e47d131b1d395a3c636bef815706dd60171011.tar.gz scala-14e47d131b1d395a3c636bef815706dd60171011.tar.bz2 scala-14e47d131b1d395a3c636bef815706dd60171011.zip |
Temporarily disabled varargs annotation on cons...
Temporarily disabled varargs annotation on constructors.
No review.
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/UnCurry.scala | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/UnCurry.scala b/src/compiler/scala/tools/nsc/transform/UnCurry.scala index 1b48b9a978..ddc14cd95b 100644 --- a/src/compiler/scala/tools/nsc/transform/UnCurry.scala +++ b/src/compiler/scala/tools/nsc/transform/UnCurry.scala @@ -720,13 +720,14 @@ abstract class UnCurry extends InfoTransform with TypingTransformers with ast.Tr * If the repeated params exist, it saves them into the `repeatedParams` map, * which is used later. */ - private def saveRepeatedParams(dd: DefDef) { - val allparams = dd.vparamss.flatten - val reps = allparams.filter(p => isRepeatedParamType(p.symbol.tpe)) - if (reps.isEmpty) - unit.error(dd.symbol.pos, "A method without repeated parameters cannot be annotated with the `varargs` annotation.") - else repeatedParams.put(dd.symbol, reps) - } + private def saveRepeatedParams(dd: DefDef): Unit = + if (dd.symbol.isConstructor) unit.error(dd.symbol.pos, "A constructor cannot be annotated with a `varargs` annotation.") else { + val allparams = dd.vparamss.flatten + val reps = allparams.filter(p => isRepeatedParamType(p.symbol.tpe)) + if (reps.isEmpty) + unit.error(dd.symbol.pos, "A method without repeated parameters cannot be annotated with the `varargs` annotation.") + else repeatedParams.put(dd.symbol, reps) + } /* Called during post transform, after the method argument lists have been flattened. * It looks for the method in the `repeatedParams` map, and generates a Java-style |