aboutsummaryrefslogtreecommitdiffstats
path: root/bridge
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2023-01-18 09:17:43 +0100
committerAlexander Kriegisch <Alexander@Kriegisch.name>2024-04-12 15:32:39 +0200
commite8c2f57913042c6ceeeeac010e2c6658fcb3c147 (patch)
tree858d4247da96a0c398cc001a687ffc3859f9e331 /bridge
parent7bd0a45144b8cd2fe57432e572d0c8339fecd61f (diff)
downloadaspectj-e8c2f57913042c6ceeeeac010e2c6658fcb3c147.tar.gz
aspectj-e8c2f57913042c6ceeeeac010e2c6658fcb3c147.zip
Further streamline BCException
- Improvement: Also add CompilationAndWeavingContext for constructor with causing exception - Remove home-brew stack trace printing, just call super constructors Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'bridge')
-rw-r--r--bridge/src/main/java/org/aspectj/bridge/context/CompilationAndWeavingContext.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/bridge/src/main/java/org/aspectj/bridge/context/CompilationAndWeavingContext.java b/bridge/src/main/java/org/aspectj/bridge/context/CompilationAndWeavingContext.java
index 451c9cca7..c204c78a1 100644
--- a/bridge/src/main/java/org/aspectj/bridge/context/CompilationAndWeavingContext.java
+++ b/bridge/src/main/java/org/aspectj/bridge/context/CompilationAndWeavingContext.java
@@ -148,6 +148,16 @@ public class CompilationAndWeavingContext {
return sb.toString();
}
+ /**
+ * Returns a string description of what the compiler/weaver is currently doing
+ * @param prependNLIfNotEmpty Prepend a newline character to the message? This can be nice when printing the context
+ * as part of an exception stack trace.
+ */
+ public static String getCurrentContext(boolean prependNLIfNotEmpty) {
+ String context = getCurrentContext();
+ return context.isEmpty() ? context : (prependNLIfNotEmpty ? "\n" : "") + context;
+ }
+
public static ContextToken enteringPhase(int phaseId, Object data) {
Stack<ContextStackEntry> contextStack = getContextStack();
ContextTokenImpl nextToken = nextToken();