I have just created an enhancement request to discuss possible syntax for selecting a subset of arguments with a particular property/annotation - see
https://bugs.eclipse.org/bugs/show_bug.cgi?id=233718 but it only raises more questions that it answers. If any language designers out there want to chip in, feel free. Andy. 2008/5/23 Eric Bodden <[EMAIL PROTECTED]>: > Hi Srdan. > > The only think you can do in this case is to match on *any* method > that has an @NonNull annotation and then use thisJoinPoint.getArgs() > in the advice body to expose the arguments from there. > > Also you should look at Contract4J, as it does exactly this (and more) > using AspectJ: http://www.contract4j.org/contract4j > > Eric > > 2008/5/23 srdan bejakovic <[EMAIL PROTECTED]>: >> Maybe I'm going about it the wrong way. Is there a way to match a method >> that has a parameter of a given type (or annotation), regardless of the >> position? In particular, I'm trying to write an aspect that will perform a >> null pointer check for parameters with a @NotNull annotation. >> Thanks, >> >> Srdan >> >> On Thu, May 15, 2008 at 5:12 PM, Andy Clement <[EMAIL PROTECTED]> >> wrote: >>> >>> 4th and 5th are actually not allowed I'm afraid. You can't use '..' >>> in two places - really you should get an error for (4) and the fact >>> you don't is a regression. >>> >>> Andy. >>> >>> 2008/5/15 srdan bejakovic <[EMAIL PROTECTED]>: >>> > I haven't been able to match an annotated method parameter if it's >>> > surrounded on both sides by the .. wildcard. In the code below, the >>> > first 4 >>> > advice declarations match foo, but the fifth doesn't. Am I doing >>> > something >>> > wrong or is this not allowed or is it a bug? Thanks for your help. >>> > >>> > @interface A {}; >>> > public void foo(@A String s) {} >>> > 1 before(): execution(* *(@A (*))) {} >>> > 2 before(): execution(* *(.., @A (*))) {} >>> > 3 before(): execution(* *(@A (*), ..)) {} >>> > 4 before(): execution(* *(.., String, ..)) {} >>> > 5 before(): execution(* *(.., @A (*), ..)) {} >>> > >>> > _______________________________________________ >>> > 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 >> >> > > > > -- > Eric Bodden > Sable Research Group > McGill University, Montréal, Canada > _______________________________________________ > 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
