summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/UnCurry.scala
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-11-27 22:13:17 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-11-27 22:13:17 +0000
commit14e47d131b1d395a3c636bef815706dd60171011 (patch)
tree9e4053ac95c3bf00a5b84cd450120e7718f86e6e /src/compiler/scala/tools/nsc/transform/UnCurry.scala
parent59c95e3e927e5b48fc4e44d114530fea0ab15d92 (diff)
downloadscala-14e47d131b1d395a3c636bef815706dd60171011.tar.gz
scala-14e47d131b1d395a3c636bef815706dd60171011.tar.bz2
scala-14e47d131b1d395a3c636bef815706dd60171011.zip
Temporarily disabled varargs annotation on cons...
Temporarily disabled varargs annotation on constructors. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/UnCurry.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/UnCurry.scala15
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