summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2006-06-27 13:29:00 +0000
committerIulian Dragos <jaguarul@gmail.com>2006-06-27 13:29:00 +0000
commit5a17c91819ebeca83dcdfcfb1dc49e1bc7322a87 (patch)
treeba19ea77ef738805a9f5ade866f4187fc00e5de8 /src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
parent096390023e05e1d213778902d5ed6ae29738cb25 (diff)
downloadscala-5a17c91819ebeca83dcdfcfb1dc49e1bc7322a87.tar.gz
scala-5a17c91819ebeca83dcdfcfb1dc49e1bc7322a87.tar.bz2
scala-5a17c91819ebeca83dcdfcfb1dc49e1bc7322a87.zip
Added a new method 'browse' which takes an arbi...
Added a new method 'browse' which takes an arbitrary AST node (as opposed to a whole program).
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
index 203ef95657..0f87680c6e 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
@@ -50,6 +50,21 @@ abstract class TreeBrowsers {
*/
class SwingBrowser {
+ def browse(t: Tree): Unit = {
+ val phase: Phase = globalPhase;
+
+ val tm = new ASTTreeModel(t);
+
+ val frame = new BrowserFrame();
+ frame.setTreeModel(tm);
+
+ val lock = new Lock();
+ frame.createFrame(lock);
+
+ // wait for the frame to be closed
+ lock.acquire;
+ }
+
def browse(units: Iterator[CompilationUnit]): Unit =
browse(units.toList);
@@ -75,7 +90,7 @@ abstract class TreeBrowsers {
}
/** Tree model for abstract syntax trees */
- class ASTTreeModel(val program: ProgramTree) extends TreeModel {
+ class ASTTreeModel(val program: Tree) extends TreeModel {
var listeners: List[TreeModelListener] = Nil;
/** Add a listener to this tree */