Hi Andy,

Thanks for answering! That's good see the support for the classical
syntax... but the @annotation style need to be updated... I'm not talking
about if pointcuts. See bellow:

public interface I {
 @Pointcut("execution( * *(..))")
public static void pc(){}

}

We both know that interfaces now support static methods and we also know
that the above pointcut (which does not include an if pointcut) is valid if
declared within a class, but it's forbidden within an interface... the
compiler says the following:

                  "pointcuts can only be declared in a class or an aspect"

cheers

On Mon, Jun 15, 2015 at 5:07 PM, Andy Clement <andrew.clem...@gmail.com>
wrote:

> Well, we do already support pointcut declarations in interfaces:
>
> interface I {
>   pointcut p(): execution(* main(..));
> }
>
> aspect X {
>   before(): I.p() {
>     System.out.println(">>");
>   }
> }
>
> public class Code {
>   public static void main(String[] argv) {
>   }
> }
>
> But I suppose if you especially mean annotation style pointcuts in
> interfaces (as in your example if() pointcut).  We certainly could improve
> the story here.
>
> cheers,
> Andy
>
> On Jun 12, 2015, at 6:34 PM, Henrique Rebêlo <h...@cin.ufpe.br> wrote:
>
> Hi Andy and all,
>
> I was wondering that now AspectJ should support pointcut declarations in
> interfaces. New features in Java 8 include static method declarations or
> default method declarations in an interface. Hence, I believe to make the
> AspectJ language more orthogonal and symmetric, we should consider to have
> pointcut declarations in aspects, classes and also interfaces.
>
> I think that one design decision that is forbidding pointcuts on
> interfaces is that before we couldn't write methods with bodies in
> interfaces, thus avoiding the use of the main design (specially in @AspectJ
> where we need method bodies for If pointcuts)...
>
> What you think? This is just an advice (not AspectJ advice :-) to make the
> AspectJ sync with Java.
>
> --
>
> ...............................................................................................................................
> Henrique Rebelo
> http://www.cin.ufpe.br/~hemr
> Informatics Center, UFPE, Brazil
>  _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>



-- 
...............................................................................................................................
Henrique Rebelo
http://www.cin.ufpe.br/~hemr
Informatics Center, UFPE, Brazil
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to