summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2005-10-26 16:49:20 +0000
committeraclement <aclement>2005-10-26 16:49:20 +0000
commit1f7ff29c7764f863e3c0217d5f106b32aec0b2ab (patch)
tree72ac94178334908214527ecf8d7b11c7c10a39b9 /weaver
parent1cd45521b1c9396fc46d44b1b469146f27eb46b6 (diff)
downloadaspectj-1f7ff29c7764f863e3c0217d5f106b32aec0b2ab.tar.gz
aspectj-1f7ff29c7764f863e3c0217d5f106b32aec0b2ab.zip
see pr112105 comment #13: yey! use parameterized mungers when applying ITDs
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedType.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedType.java b/weaver/src/org/aspectj/weaver/ResolvedType.java
index e5bccfa47..b6683f724 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedType.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedType.java
@@ -488,6 +488,7 @@ public abstract class ResolvedType extends UnresolvedType implements AnnotatedEl
crosscuttingMembers.addDeclares(collectDeclares(!this.doesNotExposeShadowMungers()));
crosscuttingMembers.addPrivilegedAccesses(getPrivilegedAccesses());
+
//System.err.println("collected cc members: " + this + ", " + collectDeclares());
return crosscuttingMembers;
}
@@ -1326,7 +1327,7 @@ public abstract class ResolvedType extends UnresolvedType implements AnnotatedEl
// ResolvedMember newOne = member.parameterizedWith(actualTarget.getTypeParameters(),onType,actualTarget.isParameterizedType());
}
//if (!actualTarget.isRawType())
- munger = munger.parameterizedFor(actualTarget);
+ munger = munger.parameterizedFor(actualTarget);
if (debug) System.err.println("New sig: "+munger.getSignature());
@@ -1401,10 +1402,10 @@ public abstract class ResolvedType extends UnresolvedType implements AnnotatedEl
}
}
//System.err.println("adding: " + munger + " to " + this);
- // we used the 'parameterized' ITD for all the comparisons but we say the original
- // one passed in actually matched as it will be added to the intertype member finder
- // for the target type.
- interTypeMungers.add(originalMunger);
+ // we are adding the parameterized form of the ITD to the list of
+ // mungers. Within it, the munger knows the original declared
+ // signature for the ITD so it can be retrieved.
+ interTypeMungers.add(munger);
}
private boolean compareToExistingMembers(ConcreteTypeMunger munger, List existingMembersList) {