diff options
author | Paul Phillips <paulp@improving.org> | 2011-06-14 02:26:07 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-06-14 02:26:07 +0000 |
commit | 4ba275137e02e485de1b1447e780b97c4e0b3cbd (patch) | |
tree | c3be99189fbb8dd21bc6dbf58e8ea7b4daa3a5e4 /src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | |
parent | f02512706f53ea743a8b8b3df27d20810f14ea4e (diff) | |
download | scala-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.scala | 16 |
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] |