diff options
author | Martin Odersky <odersky@gmail.com> | 2011-02-02 18:37:38 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-02-02 18:37:38 +0000 |
commit | fa7838568e703ad8df1e102d0aa2cf47e7311482 (patch) | |
tree | 7b956a53f7cb2a6d15fef364e04cd59d6b5be2d1 /src/compiler/scala/tools/nsc/interactive/CompilerControl.scala | |
parent | 380ce38936363b6dc655b59fc0a1f4ede8578c08 (diff) | |
download | scala-fa7838568e703ad8df1e102d0aa2cf47e7311482.tar.gz scala-fa7838568e703ad8df1e102d0aa2cf47e7311482.tar.bz2 scala-fa7838568e703ad8df1e102d0aa2cf47e7311482.zip |
changed buildStructure to askEnteredTyped
Diffstat (limited to 'src/compiler/scala/tools/nsc/interactive/CompilerControl.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/CompilerControl.scala | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala b/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala index 376ab7936c..e26822afeb 100644 --- a/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala +++ b/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala @@ -173,17 +173,15 @@ trait CompilerControl { self: Global => def askLoadedTyped(source: SourceFile, response: Response[Tree]) = scheduler postWorkItem new AskLoadedTypedItem(source, response) - /** Build structure of source file. The structure consists of a list of top-level symbols - * in the source file, which might contain themselves nested symbols in their scopes. - * All reachable symbols are forced, i.e. their types are completed. + /** Set sync var `response` to the parse tree of `source` with all top-level symbols entered. * @param source The source file to be analyzed * @param keepLoaded If set to `true`, source file will be kept as a loaded unit afterwards. * If keepLoaded is `false` the operation is run at low priority, only after * everything is brought up to date in a regular type checker run. - * @param response The response, which is set to the list of toplevel symbols found in `source` + * @param response The response. */ - def askStructure(source: SourceFile, keepLoaded: Boolean, response: Response[List[Symbol]]) = - scheduler postWorkItem new AskStructureItem(source, keepLoaded, response) + def askParsedEntered(source: SourceFile, keepLoaded: Boolean, response: Response[Tree]) = + scheduler postWorkItem new AskParsedEnteredItem(source, keepLoaded, response) /** Cancels current compiler run and start a fresh one where everything will be re-typechecked * (but not re-loaded). @@ -199,6 +197,7 @@ trait CompilerControl { self: Global => } /** Returns parse tree for source `source`. No symbols are entered. Syntax errors are reported. + * Can be called asynchronously from presentation compiler. */ def parseTree(source: SourceFile): Tree = ask { () => getUnit(source) match { @@ -277,9 +276,9 @@ trait CompilerControl { self: Global => override def toString = "wait loaded & typed "+source } - class AskStructureItem(val source: SourceFile, val keepLoaded: Boolean, response: Response[List[Symbol]]) extends WorkItem { - def apply() = self.buildStructure(source, keepLoaded, response) - override def toString = "buildStructure "+source+", keepLoaded = "+keepLoaded + class AskParsedEnteredItem(val source: SourceFile, val keepLoaded: Boolean, response: Response[Tree]) extends WorkItem { + def apply() = self.getParsedEntered(source, keepLoaded, response) + override def toString = "getParsedEntered "+source+", keepLoaded = "+keepLoaded } } |