aboutsummaryrefslogtreecommitdiffstats
path: root/bridge
diff options
context:
space:
mode:
authorehilsdal <ehilsdal>2002-12-16 22:41:15 +0000
committerehilsdal <ehilsdal>2002-12-16 22:41:15 +0000
commitf50d1eeb894cbd2e5ed8ee619bcdf704e0187ba2 (patch)
treeb650a19d2a39370abea9dda99b66524e2c1f0758 /bridge
parent2438efbd210c29b554830476541ab0f70b72c92c (diff)
downloadaspectj-f50d1eeb894cbd2e5ed8ee619bcdf704e0187ba2.tar.gz
aspectj-f50d1eeb894cbd2e5ed8ee619bcdf704e0187ba2.zip
refactoring AbortException to make it clearer when we
want to abort w/o message, and to always stuff in a stack trace
Diffstat (limited to 'bridge')
-rw-r--r--bridge/src/org/aspectj/bridge/AbortException.java21
-rw-r--r--bridge/testsrc/org/aspectj/bridge/MessageTest.java2
2 files changed, 14 insertions, 9 deletions
diff --git a/bridge/src/org/aspectj/bridge/AbortException.java b/bridge/src/org/aspectj/bridge/AbortException.java
index 241b6a8d9..13c63a030 100644
--- a/bridge/src/org/aspectj/bridge/AbortException.java
+++ b/bridge/src/org/aspectj/bridge/AbortException.java
@@ -38,18 +38,13 @@ import java.util.ArrayList;
*/
public class AbortException extends RuntimeException { // XXX move porters out, handle proxy better
+ private boolean isSilent = false;
+
/** used when message text is null */
public static final String NO_MESSAGE_TEXT
= "AbortException (no message)";
private static final ArrayList porters = new ArrayList();
-
- /**
- * A client may throw this rather than constructing their own
- * if stack trace or message is not needed when caught.
- */
- public static final AbortException ABORT
- = new AbortException("ABORT");
/**
* Get a porter exception from the pool.
@@ -64,6 +59,7 @@ public class AbortException extends RuntimeException { // XXX move porters out,
result = (AbortException) porters.get(0);
} else {
result = new AbortException();
+ result.setIsSilent(false);
}
}
result.setIMessage(message);
@@ -106,7 +102,8 @@ public class AbortException extends RuntimeException { // XXX move porters out,
/** abort with default String message */
public AbortException() {
- this((String) null);
+ this("ABORT");
+ isSilent = true;
}
/** abort with message */
@@ -222,4 +219,12 @@ public class AbortException extends RuntimeException { // XXX move porters out,
}
}
+ public boolean isSilent() {
+ return isSilent;
+ }
+
+ public void setIsSilent(boolean isSilent) {
+ this.isSilent = isSilent;
+ }
+
}
diff --git a/bridge/testsrc/org/aspectj/bridge/MessageTest.java b/bridge/testsrc/org/aspectj/bridge/MessageTest.java
index 6f370eeb3..61488c8ef 100644
--- a/bridge/testsrc/org/aspectj/bridge/MessageTest.java
+++ b/bridge/testsrc/org/aspectj/bridge/MessageTest.java
@@ -146,7 +146,7 @@ public class MessageTest extends TestCase {
// -- throwable
kind = IMessage.FAIL;
- thrown = AbortException.ABORT;
+ thrown = new AbortException();
input = null;
roundTrip(input, kind, thrown, sl, descriptor, exClass);