diff options
author | avasseur <avasseur> | 2005-05-12 13:22:38 +0000 |
---|---|---|
committer | avasseur <avasseur> | 2005-05-12 13:22:38 +0000 |
commit | 2514b117e6bf7f469a5eece4a8ebf41a5f378b00 (patch) | |
tree | efd2053edec4e0db276e98031fa7273f292ded16 /weaver | |
parent | f9eebd48f6070a8254b38630d6d76da8c0aee80e (diff) | |
download | aspectj-2514b117e6bf7f469a5eece4a8ebf41a5f378b00.tar.gz aspectj-2514b117e6bf7f469a5eece4a8ebf41a5f378b00.zip |
see #75442, lateTypeMunger rollback for now. This is not enough
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java | 6 | ||||
-rw-r--r-- | weaver/src/org/aspectj/weaver/patterns/PerObject.java | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java b/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java index 116d146a1..a9f885d0c 100644 --- a/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java +++ b/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java @@ -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); } diff --git a/weaver/src/org/aspectj/weaver/patterns/PerObject.java b/weaver/src/org/aspectj/weaver/patterns/PerObject.java index 7e8645608..45602d386 100644 --- a/weaver/src/org/aspectj/weaver/patterns/PerObject.java +++ b/weaver/src/org/aspectj/weaver/patterns/PerObject.java @@ -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()) { |