diff options
author | aclement <aclement> | 2005-10-26 16:49:20 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-10-26 16:49:20 +0000 |
commit | 1f7ff29c7764f863e3c0217d5f106b32aec0b2ab (patch) | |
tree | 72ac94178334908214527ecf8d7b11c7c10a39b9 /weaver | |
parent | 1cd45521b1c9396fc46d44b1b469146f27eb46b6 (diff) | |
download | aspectj-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.java | 11 |
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) { |