summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-01-28 18:04:34 +0000
committerMartin Odersky <odersky@gmail.com>2011-01-28 18:04:34 +0000
commit43d3c0218579e454826e453d03d17df67b75dc61 (patch)
treea9ec1bacea9cd611d428dc1c4ec76df92b91158a /src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
parentb345da5ef44ee1ae1d57b98430baa59c74bf3700 (diff)
downloadscala-43d3c0218579e454826e453d03d17df67b75dc61.tar.gz
scala-43d3c0218579e454826e453d03d17df67b75dc61.tar.bz2
scala-43d3c0218579e454826e453d03d17df67b75dc61.zip
made askTypeAt work on non-loaded sources.
Diffstat (limited to 'src/compiler/scala/tools/nsc/interactive/CompilerControl.scala')
-rw-r--r--src/compiler/scala/tools/nsc/interactive/CompilerControl.scala15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala b/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
index 9d29b781c1..de2e6206d6 100644
--- a/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
+++ b/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
@@ -114,7 +114,7 @@ trait CompilerControl { self: Global =>
}
/** Sets sync var `response` to the smallest fully attributed tree that encloses position `pos`.
- * @pre The source file belonging to `pos` needs to be loaded.
+ * Note: Unlike for most other ask... operations, the source file belonging to `pos` needs not be be loaded.
*/
def askTypeAt(pos: Position, response: Response[Tree]) =
scheduler postWorkItem new AskTypeAtItem(pos, response)
@@ -144,20 +144,16 @@ trait CompilerControl { self: Global =>
def askLinkPos(sym: Symbol, source: SourceFile, response: Response[Position]) =
scheduler postWorkItem new AskLinkPosItem(sym, source, response)
- /** Sets sync var `response` to the last fully attributed & typechecked tree produced from `source`.
- * If no such tree exists yet, do a normal askType(source, false, response)
- */
- def askLastType(source: SourceFile, response: Response[Tree]) =
- scheduler postWorkItem new AskLastTypeItem(source, response)
-
/** Sets sync var `response' to list of members that are visible
* as members of the tree enclosing `pos`, possibly reachable by an implicit.
+ * @pre source is loaded
*/
def askTypeCompletion(pos: Position, response: Response[List[Member]]) =
scheduler postWorkItem new AskTypeCompletionItem(pos, response)
/** Sets sync var `response' to list of members that are visible
* as members of the scope enclosing `pos`.
+ * @pre source is loaded
*/
def askScopeCompletion(pos: Position, response: Response[List[Member]]) =
scheduler postWorkItem new AskScopeCompletionItem(pos, response)
@@ -255,11 +251,6 @@ trait CompilerControl { self: Global =>
override def toString = "typecheck"
}
- class AskLastTypeItem(val source: SourceFile, response: Response[Tree]) extends WorkItem {
- def apply() = self.getLastTypedTree(source, response)
- override def toString = "reconcile"
- }
-
class AskTypeCompletionItem(val pos: Position, response: Response[List[Member]]) extends WorkItem {
def apply() = self.getTypeCompletion(pos, response)
override def toString = "type completion "+pos.source+" "+pos.show