Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Improving the pointcut matching?

Fast match could be improved but we’d need to be very confident we aren’t damaging the notion of fast. I’d be happy to see other cases covered - annotation based matching cases are pretty prevalent these days so it’d be good to cover some of those. How fast is it to retrieve the annotations in order to quickly perform this extra fast matching? I’m not sure without testing.

Personally I find if you are in Eclipse then building/testing is pretty easy after the initial setup - but i know the lack of a maven type build doesn’t help. Certainly people have contributed from an IntelliJ environment but I have less skills to help them get setup with that. If you want to get setup and develop some of this, I can help you.

cheers,
Andy

> On Aug 5, 2015, at 2:40 PM, Frank Pavageau <frank.pavageau@xxxxxxxxx> wrote:
> 
> Hi.
> 
> I was debugging an application using Spring AOP to find out why a class was proxied despite not actually matching the pointcut, and found out that KindedPointcut.fastMatch() would only match on an exact type pattern or a type pattern with an exact annotation type pattern, and return "maybe" otherwise.
> 
> It seems a bit restrictive, when the conjunctions, disjunctions and negations could probably also be evaluated with the same kind of cost, and help my case, which is a pointcut like:
>     execution(* (@Annotation1 !@Annotation2 *).*(..))
> 
> Is there any intrinsic reason why that can't be done (outside of the Spring AOP scope for example, when used directly in AspectJ), or is it just a lack of need / time for the implementation?
> 
> In the same vein, the patterns seem really disjunct, when they could actually have multiple facets: a WildTypePattern can contain an AnnotationTypePattern, however it's not an AnyWithAnnotationTypePattern. If it were, a possible match could be ruled out using only the annotations (again with exact match, conjunction, disjunction, negation), and not considering the wildcard.
> 
> I could probably try and contribute something if it seems feasible, though I know building and testing AspectJ is not that easy.
> 
> Regards,
> Frank
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users



Back to the top