]> source.dussan.org Git - aspectj.git/commitdiff
see #75442, lateTypeMunger rollback for now. This is not enough
authoravasseur <avasseur>
Thu, 12 May 2005 13:22:38 +0000 (13:22 +0000)
committeravasseur <avasseur>
Thu, 12 May 2005 13:22:38 +0000 (13:22 +0000)
weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
weaver/src/org/aspectj/weaver/patterns/PerObject.java

index 116d146a1fe4d74855d3d616bb0d594baddfb858..a9f885d0cb4e65632395d4d8738669f582666d53 100644 (file)
@@ -93,7 +93,11 @@ public class PerObjectInterfaceTypeMunger extends ResolvedTypeMunger {
         //return !matchType.isInterface() && !matchType.isAnnotationStyleAspect();
         Set aspects = (Set)s_advisedTypeToAspects.get(matchType);
         if (aspects == null) {
-            return false;
+            //return false;
+            // FIXME AV - #75442 see thread
+            // back off on old style : it can happen for perTarget that target type is presented first to the weaver
+            // while caller side is not thus we have advisedTypeToAspects still empty..
+            return !matchType.isInterface() && !matchType.isAnnotationStyleAspect();
         } else {
             return aspects.contains(aspectType);
         }
index 7e86456082d66bba61732e2bcb175a784e05f852..45602d386d9f55f65a09543a5c2700b7834651cb 100644 (file)
@@ -104,9 +104,12 @@ public class PerObject extends PerClause {
                //concreteEntry.state = Pointcut.CONCRETE;
                inAspect.crosscuttingMembers.addConcreteShadowMunger(
                                Advice.makePerObjectEntry(world, concreteEntry, isThis, inAspect));
+
+        // FIXME AV - don't use lateMunger here due to test "inheritance, around advice and abstract pointcuts"
+        // see #75442 thread. Issue with weaving order.
                ResolvedTypeMunger munger =
                        new PerObjectInterfaceTypeMunger(inAspect, concreteEntry);
-               inAspect.crosscuttingMembers.addLateTypeMunger(world.concreteTypeMunger(munger, inAspect));
+               inAspect.crosscuttingMembers.addTypeMunger(world.concreteTypeMunger(munger, inAspect));
 
         //ATAJ: add a munger to add the aspectOf(..) to the @AJ aspects
         if (inAspect.isAnnotationStyleAspect()) {