]> source.dussan.org Git - aspectj.git/commitdiff
see pr112105 comment #13: yey! use parameterized mungers when applying ITDs
authoraclement <aclement>
Wed, 26 Oct 2005 16:49:20 +0000 (16:49 +0000)
committeraclement <aclement>
Wed, 26 Oct 2005 16:49:20 +0000 (16:49 +0000)
weaver/src/org/aspectj/weaver/ResolvedType.java

index e5bccfa479ae70feeabcef0c379dc442f6e22f3b..b6683f724ac753c50314bf88ad003bc1c619ea21 100644 (file)
@@ -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) {