summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-02-02 18:37:38 +0000
committerMartin Odersky <odersky@gmail.com>2011-02-02 18:37:38 +0000
commitfa7838568e703ad8df1e102d0aa2cf47e7311482 (patch)
tree7b956a53f7cb2a6d15fef364e04cd59d6b5be2d1 /src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
parent380ce38936363b6dc655b59fc0a1f4ede8578c08 (diff)
downloadscala-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.scala17
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
}
}