summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-10-24 14:11:20 +0000
committerPaul Phillips <paulp@improving.org>2011-10-24 14:11:20 +0000
commit70996f8583ba28de3dfe97bb3e7075cb56a4ea2f (patch)
tree45f5c6ce758fe4564b3f21f8df3877302f2cdd34 /src
parent78db538e1dd1b9f4d078309568d237fa6c1fb25c (diff)
downloadscala-70996f8583ba28de3dfe97bb3e7075cb56a4ea2f.tar.gz
scala-70996f8583ba28de3dfe97bb3e7075cb56a4ea2f.tar.bz2
scala-70996f8583ba28de3dfe97bb3e7075cb56a4ea2f.zip
Added a -Yno-productN option.
Suppresses ProductN parent for case classes. No review.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/settings/ScalaSettings.scala1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 394192e22f..b0991a9c83 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -2687,7 +2687,7 @@ self =>
if (mods.isCase) {
val arity = if (vparamss.isEmpty || vparamss.head.isEmpty) 0 else vparamss.head.size
productConstr :: serializableConstr :: {
- if (arity == 0) Nil
+ if (arity == 0 || settings.YnoProductN.value) Nil
else List(
AppliedTypeTree(
productConstrN(arity),
diff --git a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
index 6c7c8757bd..b15f338938 100644
--- a/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
+++ b/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala
@@ -175,6 +175,7 @@ trait ScalaSettings extends AbsScalaSettings
val YvirtClasses = false // too embryonic to even expose as a -Y //BooleanSetting ("-Yvirtual-classes", "Support virtual classes")
val exposeEmptyPackage = BooleanSetting("-Yexpose-empty-package", "Internal only: expose the empty package.").internalOnly()
+ val YnoProductN = BooleanSetting ("-Yno-productN", "Do not add ProductN to case classes")
def stop = stopAfter