diff options
author | aclement <aclement> | 2008-12-12 17:13:03 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-12-12 17:13:03 +0000 |
commit | bc71bf94320dbdba830261c0f115688d77a7592b (patch) | |
tree | d72c27d6c2b73c3a305aafc4308107b1750d183f /weaver | |
parent | b932237acfbcf6faa9faa1a72d1983630d6d5b7e (diff) | |
download | aspectj-bc71bf94320dbdba830261c0f115688d77a7592b.tar.gz aspectj-bc71bf94320dbdba830261c0f115688d77a7592b.zip |
258653: test and fix
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/model/AsmRelationshipProvider.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/weaver/src/org/aspectj/weaver/model/AsmRelationshipProvider.java b/weaver/src/org/aspectj/weaver/model/AsmRelationshipProvider.java index 94e881671..77e292e3c 100644 --- a/weaver/src/org/aspectj/weaver/model/AsmRelationshipProvider.java +++ b/weaver/src/org/aspectj/weaver/model/AsmRelationshipProvider.java @@ -433,14 +433,18 @@ public class AsmRelationshipProvider { if (shadow instanceof BcelShadow) { Member actualEnclosingMember = ((BcelShadow) shadow).getRealEnclosingCodeSignature(); - UnresolvedType type = enclosingMember.getDeclaringType(); - UnresolvedType actualType = actualEnclosingMember.getDeclaringType(); - - // if these are not the same, it is an ITD and we need to use the latter to lookup - if (type.equals(actualType)) { + if (actualEnclosingMember == null) { enclosingNode = lookupMember(model.getHierarchy(), shadow.getEnclosingType(), enclosingMember); } else { - enclosingNode = lookupMember(model.getHierarchy(), shadow.getEnclosingType(), actualEnclosingMember); + UnresolvedType type = enclosingMember.getDeclaringType(); + UnresolvedType actualType = actualEnclosingMember.getDeclaringType(); + + // if these are not the same, it is an ITD and we need to use the latter to lookup + if (type.equals(actualType)) { + enclosingNode = lookupMember(model.getHierarchy(), shadow.getEnclosingType(), enclosingMember); + } else { + enclosingNode = lookupMember(model.getHierarchy(), shadow.getEnclosingType(), actualEnclosingMember); + } } } else { enclosingNode = lookupMember(model.getHierarchy(), shadow.getEnclosingType(), enclosingMember); |