diff options
author | Martin Odersky <odersky@gmail.com> | 2010-10-25 13:26:35 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2010-10-25 13:26:35 +0000 |
commit | 5c322510b185e7ee50ec6f75057369c427b9724b (patch) | |
tree | 4d9a8ba65fac59172673cfdce4d0d288e2e94aad /src/compiler/scala/tools/nsc/util/WorkScheduler.scala | |
parent | baf9c6f3803d64b7d03fa9193871a85cd29c00b8 (diff) | |
download | scala-5c322510b185e7ee50ec6f75057369c427b9724b.tar.gz scala-5c322510b185e7ee50ec6f75057369c427b9724b.tar.bz2 scala-5c322510b185e7ee50ec6f75057369c427b9724b.zip |
Now short-circuits reload work items that are s...
Now short-circuits reload work items that are superseded by later ones.
Diffstat (limited to 'src/compiler/scala/tools/nsc/util/WorkScheduler.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/util/WorkScheduler.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/util/WorkScheduler.scala b/src/compiler/scala/tools/nsc/util/WorkScheduler.scala index f520aec8bc..509efca8e5 100644 --- a/src/compiler/scala/tools/nsc/util/WorkScheduler.scala +++ b/src/compiler/scala/tools/nsc/util/WorkScheduler.scala @@ -26,6 +26,9 @@ class WorkScheduler { if (todo.isEmpty) None else Some(todo.dequeue()) } + def dequeueAll[T](f: Action => Option[T]): Seq[T] = + todo.dequeueAll(a => f(a).isDefined).map(a => f(a).get) + /** Called from server: return optional exception posted by client * Reset to no exception. */ |