summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2008-02-25 21:39:45 +0000
committeraclement <aclement>2008-02-25 21:39:45 +0000
commit5beab0ec09f8ccc7cea9778ea3d77e5d03486f0c (patch)
tree90ea64b3ff68e7ded5c66ad27a521d28d1b918a7 /weaver
parent38add973034e7d4e6436c19e3cb0a89e48d90997 (diff)
downloadaspectj-5beab0ec09f8ccc7cea9778ea3d77e5d03486f0c.tar.gz
aspectj-5beab0ec09f8ccc7cea9778ea3d77e5d03486f0c.zip
220172: npe guard
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/Shadow.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/Shadow.java b/weaver/src/org/aspectj/weaver/Shadow.java
index 26f021298..511b1622d 100644
--- a/weaver/src/org/aspectj/weaver/Shadow.java
+++ b/weaver/src/org/aspectj/weaver/Shadow.java
@@ -744,7 +744,29 @@ public abstract class Shadow {
}
public String toResolvedString(World world) {
- return getKind() + "(" + world.resolve(getSignature()).toGenericString() + ")";
+ StringBuffer sb = new StringBuffer();
+ sb.append(getKind());
+ sb.append("(");
+ Member m = getSignature();
+ if (m==null) {
+ sb.append("<<missing signature>>");
+ } else {
+ ResolvedMember rm = world.resolve(m);
+ if (rm==null) {
+ sb.append("<<unresolvableMember:").append(m).append(">>");
+ } else {
+ String genString = rm.toGenericString();
+ if (genString==null) {
+ sb.append("<<unableToGetGenericStringFor:").append(rm).append(">>");
+ } else {
+ sb.append(genString);
+ }
+
+ }
+ }
+ sb.append(")");
+ return sb.toString();
+ // was: return getKind() + "(" + world.resolve(getSignature()).toGenericString() + ")";
}
/**