From 69e1ddb55a7f122715dbed337de73f595ae00dc3 Mon Sep 17 00:00:00 2001 From: Miles Sabin Date: Wed, 15 Jul 2009 13:01:43 +0000 Subject: Added ControlException marker trait and update ... Added ControlException marker trait and update various exceptions to mix it in; the typer now correctly propagates ControlExceptions rather than reporting them; the IDE reports attempts to log ControlExceptions; Global.signalDone no longer leaks ValidateErrors back into the typer; the set of compiler options offered by the IDE has been updated. --- src/actors/scala/actors/Actor.scala | 3 ++- src/actors/scala/actors/Reaction.scala | 3 ++- src/actors/scala/actors/SchedulerService.scala | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src/actors') diff --git a/src/actors/scala/actors/Actor.scala b/src/actors/scala/actors/Actor.scala index 015ec917b6..43d1f7c707 100644 --- a/src/actors/scala/actors/Actor.scala +++ b/src/actors/scala/actors/Actor.scala @@ -11,6 +11,7 @@ package scala.actors import scala.compat.Platform +import scala.util.control.ControlException import java.util.{Timer, TimerTask} import java.util.concurrent.ExecutionException @@ -881,7 +882,7 @@ case class Exit(from: AbstractActor, reason: AnyRef) * @version 0.9.8 * @author Philipp Haller */ -private[actors] class SuspendActorException extends Throwable { +private[actors] class SuspendActorException extends Throwable with ControlException { /* * For efficiency reasons we do not fill in * the execution stack trace. diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala index fee697b6cb..c8e19400eb 100644 --- a/src/actors/scala/actors/Reaction.scala +++ b/src/actors/scala/actors/Reaction.scala @@ -11,9 +11,10 @@ package scala.actors +import scala.util.control.ControlException import java.lang.{InterruptedException, Runnable} -private[actors] class KillActorException extends Throwable { +private[actors] class KillActorException extends Throwable with ControlException { /* * For efficiency reasons we do not fill in * the execution stack trace. diff --git a/src/actors/scala/actors/SchedulerService.scala b/src/actors/scala/actors/SchedulerService.scala index 1826a153da..78abb97962 100644 --- a/src/actors/scala/actors/SchedulerService.scala +++ b/src/actors/scala/actors/SchedulerService.scala @@ -10,6 +10,7 @@ package scala.actors +import scala.util.control.ControlException import java.lang.{Runnable, Thread, InterruptedException} /** @@ -95,7 +96,7 @@ abstract class SchedulerService(daemon: Boolean) extends Thread with ActorGC { * @version 0.9.8 * @author Philipp Haller */ -private[actors] class QuitException extends Throwable { +private[actors] class QuitException extends Throwable with ControlException { /* For efficiency reasons we do not fill in the execution stack trace. -- cgit v1.2.3