summaryrefslogtreecommitdiffstats
path: root/weaver/src
diff options
context:
space:
mode:
authoraclement <aclement>2004-04-07 13:07:11 +0000
committeraclement <aclement>2004-04-07 13:07:11 +0000
commit4ebb2030a1b87f3b6efdd5af61c4ddb59326cdf0 (patch)
treed30b0b8b515e8a53372f07866fe7d82915835f82 /weaver/src
parent546b131e21c10f5683efb153bfb3da42ab8f8238 (diff)
downloadaspectj-4ebb2030a1b87f3b6efdd5af61c4ddb59326cdf0.tar.gz
aspectj-4ebb2030a1b87f3b6efdd5af61c4ddb59326cdf0.zip
Some of the fix for Bugzilla Bug 57432
NPE when creating declare messages [If we don't know the originating source file, have a better guess than 'Unknown']
Diffstat (limited to 'weaver/src')
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java b/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java
index f8c4c3c9a..8f7f4065a 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java
@@ -31,9 +31,15 @@ public class BcelSourceContext implements ISourceContext {
this.inObject = inObject;
sourceFileName = inObject.getJavaClass().getSourceFileName();
- String pname = inObject.getResolvedTypeX().getPackageName();
- if (pname != null) {
- sourceFileName = pname.replace('.', '/') + '/' + sourceFileName;
+
+ // <Unknown> is the default when we don't know where it came from (see JavaClass.source_file_name)
+ if (sourceFileName!=null && sourceFileName.equals("<Unknown>")) {
+ sourceFileName = "Type '"+ inObject.getResolvedTypeX().getName()+"' (no debug info available)";
+ } else {
+ String pname = inObject.getResolvedTypeX().getPackageName();
+ if (pname != null) {
+ sourceFileName = pname.replace('.', '/') + '/' + sourceFileName;
+ }
}
}