summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/Global.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-08-22 12:27:22 +0000
committerMartin Odersky <odersky@gmail.com>2007-08-22 12:27:22 +0000
commitd0310bece6ca4047221698c08de1d85b703bd07d (patch)
treeba02cb90d292086fea2a545ffed30be06cb72fba /src/compiler/scala/tools/nsc/Global.scala
parent83767dc5e2181f7953afc2a91a5253f652f8fc11 (diff)
downloadscala-d0310bece6ca4047221698c08de1d85b703bd07d.tar.gz
scala-d0310bece6ca4047221698c08de1d85b703bd07d.tar.bz2
scala-d0310bece6ca4047221698c08de1d85b703bd07d.zip
cleaned up Trees
Diffstat (limited to 'src/compiler/scala/tools/nsc/Global.scala')
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala34
1 files changed, 11 insertions, 23 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index fd5e1dcd2e..b550dce067 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -32,8 +32,7 @@ import backend.msil.GenMSIL
import backend.opt.{Inliners, ClosureElimination, DeadCodeElimination}
import backend.icode.analysis._
-class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
- with Trees
+class Global(var settings: Settings, var reporter: Reporter) extends Trees
with CompilationUnits
with Plugins
{
@@ -57,25 +56,6 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
}
val nodeToString = nodePrinters.nodeToString
- object treePrinters extends TreePrinters {
- val global: Global.this.type = Global.this
- }
- val treePrinter = treePrinters.create()
- def printTree(tree: Tree, writer: PrintWriter) {
- val printer = treePrinters.create(writer)
- printer.print(tree)
- printer.flush
- }
-
- object treeBrowsers extends TreeBrowsers {
- val global: Global.this.type = Global.this
- }
- val treeBrowser = treeBrowsers.create()
-
- object treeInfo extends TreeInfo {
- val global: Global.this.type = Global.this
- }
-
object gen extends TreeGen {
val global: Global.this.type = Global.this
}
@@ -549,9 +529,9 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
if (settings.print contains globalPhase.name)
if (globalPhase.id >= icodePhase.id) writeICode()
else if (settings.Xshowtrees.value) nodePrinters.printAll()
- else treePrinter.printAll()
+ else printAllUnits()
if (settings.printLate.value && globalPhase.name == "cleanup")
- treePrinter.printAll()
+ printAllUnits()
if (settings.browse contains globalPhase.name) treeBrowser.browse(units)
informTime(globalPhase.description, startTime)
@@ -640,6 +620,14 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
}
} // class Run
+
+ def printAllUnits() {
+ print("[[syntax trees at end of " + phase + "]]")
+ atPhase(phase.next) {
+ for (unit <- currentRun.units) treePrinter.print(unit)
+ }
+ }
+
def showDef(name: Name, module: Boolean) {
def getSym(name: Name, module: Boolean): Symbol = {
var i = name.length - 1