diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2006-06-27 13:29:00 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2006-06-27 13:29:00 +0000 |
commit | 5a17c91819ebeca83dcdfcfb1dc49e1bc7322a87 (patch) | |
tree | ba19ea77ef738805a9f5ade866f4187fc00e5de8 | |
parent | 096390023e05e1d213778902d5ed6ae29738cb25 (diff) | |
download | scala-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).
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala | 17 |
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 */ |