diff options
author | aclement <aclement> | 2004-04-07 13:07:11 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-04-07 13:07:11 +0000 |
commit | 4ebb2030a1b87f3b6efdd5af61c4ddb59326cdf0 (patch) | |
tree | d30b0b8b515e8a53372f07866fe7d82915835f82 /weaver/src | |
parent | 546b131e21c10f5683efb153bfb3da42ab8f8238 (diff) | |
download | aspectj-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.java | 12 |
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; + } } } |