diff options
author | paltherr <paltherr@epfl.ch> | 2004-08-31 13:08:43 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2004-08-31 13:08:43 +0000 |
commit | 1a6515ccefc77fd8222d5b7df8fdf7726432a08f (patch) | |
tree | e9bd8be1d9b8b6e68773ccb88838343a1c751e63 | |
parent | 1d35cb02584ab86bc5b5041826517626a3edf543 (diff) | |
download | scala-1a6515ccefc77fd8222d5b7df8fdf7726432a08f.tar.gz scala-1a6515ccefc77fd8222d5b7df8fdf7726432a08f.tar.bz2 scala-1a6515ccefc77fd8222d5b7df8fdf7726432a08f.zip |
- Moved tree elimination code into AddAccessors
3 files changed, 8 insertions, 13 deletions
diff --git a/sources/scala/tools/scalac/ast/printer/TextTreePrinter.scala b/sources/scala/tools/scalac/ast/printer/TextTreePrinter.scala index bc590cbfdd..0c93b00f4e 100644 --- a/sources/scala/tools/scalac/ast/printer/TextTreePrinter.scala +++ b/sources/scala/tools/scalac/ast/printer/TextTreePrinter.scala @@ -640,7 +640,7 @@ class TextTreePrinter(writer: PrintWriter) with TreePrinter { val types: java.util.List = new java.util.ArrayList(); if (symbol != null) { val global: scalac_Global = scalac_Global.instance; - if (global.currentPhase.id > global.PHASE.EXPLICITOUTER.id()) { + if (global.currentPhase.id > global.PHASE.ADDACCESSORS.id()) { val i: Scope$SymbolIterator = symbol.members().iterator(); while (i.hasNext()) { val member: Symbol = i.next(); diff --git a/sources/scalac/transformer/AddAccessorsPhase.java b/sources/scalac/transformer/AddAccessorsPhase.java index e1a4e4e278..f9a459722b 100644 --- a/sources/scalac/transformer/AddAccessorsPhase.java +++ b/sources/scalac/transformer/AddAccessorsPhase.java @@ -16,7 +16,7 @@ import scalac.Global; import scalac.Phase; import scalac.PhaseDescriptor; import scalac.CompilationUnit; -import scalac.ast.Transformer; +import scalac.ast.GenTransformer; import scalac.ast.Tree; import scalac.ast.Tree.Template; import scalac.ast.TreeList; @@ -54,7 +54,7 @@ public class AddAccessorsPhase extends Phase { // Private Class - Tree transformer /** The tree transformer */ - private final Transformer treeTransformer = new Transformer(global) { + private final GenTransformer treeTransformer = new GenTransformer(global) { /** The parameter to accessor method map */ private final Map/*<Symbol,Symbol>*/ methods = new HashMap(); @@ -117,6 +117,11 @@ public class AddAccessorsPhase extends Phase { impl = gen.Template(clasz.pos, impl.symbol(), parents, body); return gen.ClassDef(clasz, impl); } + case AbsTypeDef(_, _, _, _): + case AliasTypeDef(_, _, _, _): + return Tree.Empty; // eliminate + case Typed(Tree expr, _): + return transform(expr); // eliminate case DefDef(_, _, _, _, _, _): Symbol backup = this.method; this.method = tree.symbol(); diff --git a/sources/scalac/transformer/ExplicitOuterClassesPhase.java b/sources/scalac/transformer/ExplicitOuterClassesPhase.java index cec8becc1b..e7e4fe33d8 100644 --- a/sources/scalac/transformer/ExplicitOuterClassesPhase.java +++ b/sources/scalac/transformer/ExplicitOuterClassesPhase.java @@ -338,16 +338,6 @@ public class ExplicitOuterClassesPhase extends Phase { context = backup; return gen.DefDef(method, rhs); - // !!! - case AbsTypeDef(_, _, _, _): - case AliasTypeDef(_, _, _, _): - // eliminate // !!! - return Tree.Empty; - - case Typed(Tree expr, Tree tpe): - // eliminate // !!! - return transform(expr); - case Apply(Tree vfun, Tree[] vargs): switch (vfun) { case TypeApply(Tree tfun, Tree[] targs): |