summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-06-14 02:26:07 +0000
committerPaul Phillips <paulp@improving.org>2011-06-14 02:26:07 +0000
commit4ba275137e02e485de1b1447e780b97c4e0b3cbd (patch)
treec3be99189fbb8dd21bc6dbf58e8ea7b4daa3a5e4 /src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
parentf02512706f53ea743a8b8b3df27d20810f14ea4e (diff)
downloadscala-4ba275137e02e485de1b1447e780b97c4e0b3cbd.tar.gz
scala-4ba275137e02e485de1b1447e780b97c4e0b3cbd.tar.bz2
scala-4ba275137e02e485de1b1447e780b97c4e0b3cbd.zip
Documented what I could figure out about late f...
Documented what I could figure out about late flags and anti-flags. Eliminated some indirection in flag usage. Made -Xshow-phases print out more info about flags if -Ydebug is also given. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
index 6737c3e23f..ca53663cc6 100644
--- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
@@ -130,7 +130,7 @@ abstract class ExplicitOuter extends InfoTransform
if (sym.owner.isTrait && ((sym hasFlag (ACCESSOR | SUPERACCESSOR)) || sym.isModule)) { // 5
sym.makeNotPrivate(sym.owner)
}
- if (sym.owner.isTrait && sym.isProtected) sym setFlag notPROTECTED // 6
+ if (sym.owner.isTrait) sym setNotFlag PROTECTED // 6
if (sym.isClassConstructor && isInner(sym.owner)) { // 1
val p = sym.newValueParameter(sym.pos, "arg" + nme.OUTER)
.setInfo(sym.owner.outerClass.thisType)
@@ -358,13 +358,6 @@ abstract class ExplicitOuter extends InfoTransform
}
}
- /** If FLAG is set on symbol, sets notFLAG (this exists in anticipation of generalizing). */
- def setNotFlags(sym: Symbol, flags: Int*) {
- for (f <- flags ; notFlag <- notFlagMap get f)
- if (sym hasFlag f)
- sym setFlag notFlag
- }
-
def matchTranslation(tree: Match) = {
val Match(selector, cases) = tree
var nselector = transform(selector)
@@ -438,9 +431,10 @@ abstract class ExplicitOuter extends InfoTransform
/** The main transformation method */
override def transform(tree: Tree): Tree = {
val sym = tree.symbol
- if (sym != null && sym.isType) //(9)
- setNotFlags(sym, PRIVATE, PROTECTED)
-
+ if (sym != null && sym.isType) { //(9)
+ sym setNotFlag PRIVATE
+ sym setNotFlag PROTECTED
+ }
tree match {
case Template(parents, self, decls) =>
val newDefs = new ListBuffer[Tree]