diff options
author | aclement <aclement> | 2008-02-25 21:39:45 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-02-25 21:39:45 +0000 |
commit | 5beab0ec09f8ccc7cea9778ea3d77e5d03486f0c (patch) | |
tree | 90ea64b3ff68e7ded5c66ad27a521d28d1b918a7 /weaver | |
parent | 38add973034e7d4e6436c19e3cb0a89e48d90997 (diff) | |
download | aspectj-5beab0ec09f8ccc7cea9778ea3d77e5d03486f0c.tar.gz aspectj-5beab0ec09f8ccc7cea9778ea3d77e5d03486f0c.zip |
220172: npe guard
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/Shadow.java | 24 |
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() + ")"; } /** |