diff options
author | Paul Phillips <paulp@improving.org> | 2010-02-23 21:16:51 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-02-23 21:16:51 +0000 |
commit | 3f9364fc49c537d4195b0f75a83442951b2a659a (patch) | |
tree | 3483910f90fd39a55e378485a7ed4238d0fc4332 /src/compiler/scala/tools/nsc/ast/NodePrinters.scala | |
parent | 303a4b33f827514e89572c87334606b64083944f (diff) | |
download | scala-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.scala | 68 |
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 } } |