|
I tried combining such pointcuts with || . But now I am getting an "ambiguous binding of parameter(s) conn across '||' in pointcut" error when I try to advice the composed pointcut with an around advice. Is there any work around to this error? Regards Tahir Akhtar Andy Clement wrote: If you want to use args directly for binding, the normal (not all that pretty) solution right now is:pointcut havingAConnectionParameter1(Connection conn): call(* *(..)) && args(conn,..); pointcut havingAConnectionParameter2(Connection conn): call(* *(..)) && args(*,conn,.. ); pointcut havingAConnectionParameter3(Connection conn): call(* *(..)) && args(*,*,conn,.. ); pointcut havingAConnectionParameter4(Connection conn): call(* *(..)) && args(*,*,*,conn,.. ); pointcut havingAConnectionParameter5(Connection conn): call(* *(..)) && args(*,*,*,conn,.. ); pointcut havingAConnectionParameter6(Connection conn): call(* *(..)) && args(*,*,*,*,conn,.. ); obviously you need as many variants as the max number of arguments, but more than 6/7 arguments then I think the code you are advising has other problems ;) there are open enhancement requests relating to this. https://bugs.eclipse.org/bugs/show_bug.cgi?id=160509 https://bugs.eclipse.org/bugs/show_bug.cgi?id=233718 The second one is interesting as it discusses a lot of possible syntaxes. cheers, Andy. 2009/6/10 Tahir Akhtar <[email protected]>:Hi, Is there a way to declare a pointcut that matches all method calls whose any parameter is of specific type (say java.sql.Connection). I see that following will match methods whose last (or only) parameter is of type Connection. pointcut havingAConnectionParameter(Connection conn): call(* *(..)) && args(..,conn ); And following will match methods whose first (or only) parameter is of type Connection. pointcut havingAConnectionParameter(Connection conn): call(* *(..)) && args(conn, .. ); But how can I match when I don't know the exact position or even number of parameters in advance? Regards Tahir Akhtar _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users |
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
