Please raise a bug and I'll look into it - what you are looking to do seems
reasonable.

Andy.

2009/2/18 Meyer, Yang <[email protected]>

>  Hi,
>
>
>
> I want to advise certain methods with an arbitrary number of formal
> parameters which have arbitrary types.
>
>
>
> My advice calls a method foo(…) that runs in another JVM, so I cannot use
> proceed(…); therefore I use reflection to invoke the method originally
> called. I am trying to use AspectJ's varargs support to pass the arguments
> (all of them!) on to foo(…), like this:
>
>
>
> void around(Object[] varargs) :
>
>                         call(* IPersistenceServices+.*(*Object**+...*)) &&
> args(varargs) {
>
>       System.out.println("Advice got woven!");
>
>       myServer.foo(varargs);
>
> }
>
>
>
> Note the underlined part. This syntax (Object+…) seems to be in accordance
> with the grammar described in the AspectJ/ADK 1.5 Notebook:
>
>
> http://www.eclipse.org/aspectj/doc/released/adk15notebook/annotations-pointcuts-and-advice.html#signaturePatterns
>
> (MethodPattern => FormalsPattern => TypePattern '…' => SimpleTypePattern)
>
>
>
> However, the Eclipse IDE complains about a syntax error, and my aspect
> isn't woven. I am using the 1.6.1 runtime with Equinox Aspects.
>
>
>
> Of course I could only match on (Object...), i.e. without the plus, but
> that would mean constraining all methods that I want to advise to declare an
> (Object...) formal parameter, instead of e.g. (String...) or 
> (MyType...)However this would really be subpar, so it'd be great to have 
> something like
> the pointcut above.
>
>
>
> Is the "TypeName+…" syntax and behavior simply not supported, or am I just
> doing it wrong?
>
>
>
> Thanks for any clarification or suggestions,
>
> Yang
>
> _______________________________________________
> 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

Reply via email to