aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoravasseur <avasseur>2005-05-12 13:22:38 +0000
committeravasseur <avasseur>2005-05-12 13:22:38 +0000
commit2514b117e6bf7f469a5eece4a8ebf41a5f378b00 (patch)
treeefd2053edec4e0db276e98031fa7273f292ded16 /weaver
parentf9eebd48f6070a8254b38630d6d76da8c0aee80e (diff)
downloadaspectj-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.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerObject.java5
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()) {