diff options
author | Martin Odersky <odersky@gmail.com> | 2012-03-21 14:54:18 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2012-03-21 14:54:18 +0100 |
commit | 437c626113711ebb5290c129611ee7f4b0c787f5 (patch) | |
tree | 81f9b4dfdc5a8a600230ffa17ec525c1891b0d0f /src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala | |
parent | e2951867f51bf464b07f759662bfc50dfaf48e5b (diff) | |
download | scala-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.scala | 4 |
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) |