//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);
}
//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()) {