summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-07-13 15:29:46 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-07-13 15:29:46 +0000
commiteeff0aed80ad3a4e7075a6e0821635e8d0f39707 (patch)
tree4a2d9e78554461db311268a3ddb2fd73a7c2204e
parent76223e85e21418d373f19c43b0e89da4616323dc (diff)
downloadscala-eeff0aed80ad3a4e7075a6e0821635e8d0f39707.tar.gz
scala-eeff0aed80ad3a4e7075a6e0821635e8d0f39707.tar.bz2
scala-eeff0aed80ad3a4e7075a6e0821635e8d0f39707.zip
Fixed bug #1211 by making accessors in traits n...
Fixed bug #1211 by making accessors in traits non-private in the type transformer instead of the term transformer.
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
index dd20917dd0..5a247a96ac 100644
--- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
@@ -105,6 +105,9 @@ abstract class ExplicitOuter extends InfoTransform with TransMatcher with Patter
if (sym.owner.isTrait && ((sym hasFlag SUPERACCESSOR) || sym.isModule)) { // 5
sym.makeNotPrivate(sym.owner)
}
+ // moved form the term transformer
+ if (sym.owner.isTrait && (sym hasFlag (ACCESSOR | SUPERACCESSOR)))
+ sym.makeNotPrivate(sym.owner); //(2)
if (sym.owner.isTrait && (sym hasFlag PROTECTED)) sym setFlag notPROTECTED // 6
if (sym.isClassConstructor && isInner(sym.owner)) // 1
MethodType(sym.owner.outerClass.thisType :: formals, restpe)
@@ -354,11 +357,8 @@ abstract class ExplicitOuter extends InfoTransform with TransMatcher with Patter
} else vparamss
super.transform(copy.DefDef(tree, mods, name, tparams, vparamss1, tpt, rhs))
}
- } else { //todo: see whether we can move this to transformInfo
- if (sym.owner.isTrait && (sym hasFlag (ACCESSOR | SUPERACCESSOR)))
- sym.makeNotPrivate(sym.owner); //(2)
+ } else
super.transform(tree)
- }
case This(qual) =>
if (sym == currentClass || (sym hasFlag MODULE) && sym.isStatic) tree