summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-03-21 14:54:18 +0100
committerMartin Odersky <odersky@gmail.com>2012-03-21 14:54:18 +0100
commit437c626113711ebb5290c129611ee7f4b0c787f5 (patch)
tree81f9b4dfdc5a8a600230ffa17ec525c1891b0d0f /src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
parente2951867f51bf464b07f759662bfc50dfaf48e5b (diff)
downloadscala-437c626113711ebb5290c129611ee7f4b0c787f5.tar.gz
scala-437c626113711ebb5290c129611ee7f4b0c787f5.tar.bz2
scala-437c626113711ebb5290c129611ee7f4b0c787f5.zip
Allows now private primary constructors in value classes.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala b/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
index 4c3972519a..5104518dd9 100644
--- a/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
@@ -28,6 +28,9 @@ abstract class ExtensionMethods extends Transform with TypingTransformers {
/** the following two members override abstract members in Transform */
val phaseName: String = "extmethods"
+ /** The following flags may be set by this phase: */
+ override def phaseNewFlags: Long = notPRIVATE
+
def newTransformer(unit: CompilationUnit): Transformer =
new Extender(unit)
@@ -101,6 +104,7 @@ abstract class ExtensionMethods extends Transform with TypingTransformers {
case Template(_, _, _) =>
if (currentOwner.isDerivedValueClass) {
extensionDefs(currentOwner.companionModule) = new mutable.ListBuffer[Tree]
+ currentOwner.primaryConstructor.makeNotPrivate(NoSymbol)
super.transform(tree)
} else if (currentOwner.isStaticOwner) {
super.transform(tree)