aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2008-12-12 17:13:03 +0000
committeraclement <aclement>2008-12-12 17:13:03 +0000
commitbc71bf94320dbdba830261c0f115688d77a7592b (patch)
treed72c27d6c2b73c3a305aafc4308107b1750d183f /weaver
parentb932237acfbcf6faa9faa1a72d1983630d6d5b7e (diff)
downloadaspectj-bc71bf94320dbdba830261c0f115688d77a7592b.tar.gz
aspectj-bc71bf94320dbdba830261c0f115688d77a7592b.zip
258653: test and fix
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/model/AsmRelationshipProvider.java16
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);