summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-02-23 21:16:51 +0000
committerPaul Phillips <paulp@improving.org>2010-02-23 21:16:51 +0000
commit3f9364fc49c537d4195b0f75a83442951b2a659a (patch)
tree3483910f90fd39a55e378485a7ed4238d0fc4332 /src/compiler/scala/tools/nsc/ast/NodePrinters.scala
parent303a4b33f827514e89572c87334606b64083944f (diff)
downloadscala-3f9364fc49c537d4195b0f75a83442951b2a659a.tar.gz
scala-3f9364fc49c537d4195b0f75a83442951b2a659a.tar.bz2
scala-3f9364fc49c537d4195b0f75a83442951b2a659a.zip
The initial results of running a basic cut and ...
The initial results of running a basic cut and paste detector over trunk and trying to undo some of it. I can live with history but if I see Cutty McPastington in new commits I will get all finger waggly. Don't make me cross that ocean. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/NodePrinters.scala')
-rw-r--r--src/compiler/scala/tools/nsc/ast/NodePrinters.scala68
1 files changed, 22 insertions, 46 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/NodePrinters.scala b/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
index 89f036f34b..b8117ceaa4 100644
--- a/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
+++ b/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
@@ -158,46 +158,27 @@ abstract class NodePrinters {
}
def nodeinfo2(tree: Tree): String =
(if (comma) "," else "") + nodeinfo(tree)
+
+ def applyCommon(name: String, tree: Tree, fun: Tree, args: List[Tree]) {
+ println(name + "(" + nodeinfo(tree))
+ traverse(fun, level + 1, true)
+ if (args.isEmpty)
+ println(" Nil // no argument")
+ else {
+ val n = args.length
+ println(" List( // " + n + " arguments(s)")
+ for (i <- 0 until n)
+ traverse(args(i), level + 2, i < n-1)
+ println(" )")
+ }
+ printcln(")")
+ }
+
tree match {
- case AppliedTypeTree(tpt, args) =>
- println("AppliedTypeTree(" + nodeinfo(tree))
- traverse(tpt, level + 1, true)
- if (args.isEmpty)
- println(" List() // no argument")
- else {
- val n = args.length
- println(" List( // " + n + " arguments(s)")
- for (i <- 0 until n)
- traverse(args(i), level + 2, i < n-1)
- println(" )")
- }
- printcln(")")
- case Apply(fun, args) =>
- println("Apply(" + nodeinfo(tree))
- traverse(fun, level + 1, true)
- if (args.isEmpty)
- println(" List() // no argument")
- else {
- val n = args.length
- println(" List( // " + n + " argument(s)")
- for (i <- 0 until n)
- traverse(args(i), level + 2, i < n-1)
- println(" )")
- }
- printcln(")")
- case ApplyDynamic(fun, args) =>
- println("ApplyDynamic(" + nodeinfo(tree))
- traverse(fun, level + 1, true)
- if (args.isEmpty)
- println(" List() // no argument")
- else {
- val n = args.length
- println(" List( // " + n + " argument(s)")
- for (i <- 0 until n)
- traverse(args(i), level + 2, i < n-1)
- println(" )")
- }
- printcln(")")
+ case AppliedTypeTree(tpt, args) => applyCommon("AppliedTypeTree", tree, tpt, args)
+ case Apply(fun, args) => applyCommon("Apply", tree, fun, args)
+ case ApplyDynamic(fun, args) => applyCommon("ApplyDynamic", tree, fun, args)
+
case Block(stats, expr) =>
println("Block(" + nodeinfo(tree))
if (stats.isEmpty)
@@ -355,16 +336,11 @@ abstract class NodePrinters {
def printUnit(unit: CompilationUnit) {
print("// Scala source: " + unit.source + "\n")
- if (unit.body ne null) {
- print(nodeToString(unit.body)); println()
- } else {
- print("<null>")
- }
- println()
+ println(Option(unit.body) map (x => nodeToString(x) + "\n") getOrElse "<null>")
}
def printAll() {
print("[[syntax trees at end of " + phase + "]]")
- for (unit <- global.currentRun.units) printUnit(unit)
+ global.currentRun.units foreach printUnit
}
}