diff options
author | Miles Sabin <miles@milessabin.com> | 2009-10-14 22:10:20 +0000 |
---|---|---|
committer | Miles Sabin <miles@milessabin.com> | 2009-10-14 22:10:20 +0000 |
commit | b57abb7bfefdc8b1c07742cd01ab2b620bcc018a (patch) | |
tree | 9532fbc6868ba3546b6fbc435ef41dd610c53ca8 /src/compiler/scala/tools/nsc/interactive/Global.scala | |
parent | 9d9889a7d6b9625aff6ee9ef72850cd9c9e7c17c (diff) | |
download | scala-b57abb7bfefdc8b1c07742cd01ab2b620bcc018a.tar.gz scala-b57abb7bfefdc8b1c07742cd01ab2b620bcc018a.tar.bz2 scala-b57abb7bfefdc8b1c07742cd01ab2b620bcc018a.zip |
Scaladoc comment position fixes with tests; sca...
Scaladoc comment position fixes with tests; scaladoc comment postions
are now accessible by symbol; respond retry in interactive Global is now
handled properly.
Diffstat (limited to 'src/compiler/scala/tools/nsc/interactive/Global.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/interactive/Global.scala | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/compiler/scala/tools/nsc/interactive/Global.scala b/src/compiler/scala/tools/nsc/interactive/Global.scala index b0b82e5743..8444065004 100644 --- a/src/compiler/scala/tools/nsc/interactive/Global.scala +++ b/src/compiler/scala/tools/nsc/interactive/Global.scala @@ -200,6 +200,7 @@ self => outOfDate = false compileRunner = newRunnerThread ex match { + case _ : FreshRunReq => // This shouldn't be reported case _ : ValidateError => // This will have been reported elsewhere case _ => ex.printStackTrace(); inform("Fatal Error: "+ex) } @@ -265,16 +266,17 @@ self => // ----------------- Implementations of client commmands ----------------------- def respond[T](result: Response[T])(op: => T): Unit = - while(true) - try { - result set Left(op) - return - } catch { - case ex : ControlException => - case ex => - result set Right(ex) - throw ex - } + try { + result set Left(op) + return + } catch { + case ex : FreshRunReq => + scheduler.postWorkItem(() => respond(result)(op)) + throw ex + case ex => + result set Right(ex) + throw ex + } /** Make sure a set of compilation units is loaded and parsed */ def reloadSources(sources: List[SourceFile]) { |