diff options
author | Martin Odersky <odersky@gmail.com> | 2011-01-28 18:04:34 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-01-28 18:04:34 +0000 |
commit | 43d3c0218579e454826e453d03d17df67b75dc61 (patch) | |
tree | a9ec1bacea9cd611d428dc1c4ec76df92b91158a /src/compiler/scala/tools/nsc/interactive/CompilerControl.scala | |
parent | b345da5ef44ee1ae1d57b98430baa59c74bf3700 (diff) | |
download | scala-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.scala | 15 |
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 |