Hi,

The fact that it works when you comment out the decp and directly add
'I extends I2' indicates it is an AspectJ bug.  Please raise it at:
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ

I can imagine this is broken as it isn't a very common pattern that I see.

cheers,
Andy

On 31 August 2012 14:51, Henrique Rebêlo <h...@cin.ufpe.br> wrote:
> Hi all,
>
> Consider the following code:
>
> public interface I {}
>
> public interface I2 {
>   public class InnerClass{
>    public static int i;
>   }
> }
>
> public aspect A {
>
>   declare parents: I extends I2;
>
>   before(): execution(* I+.(..)){
>     boolean b = I.InnerClass.i >= 0;
>   }
> }
>
> This code does not compile when I use the declare parents. It does not
> recognize the inherited inner class. So, it complains when trying to access
> the static field i. If I comment the declare parents line, and explicitly
> make the interface I to extend the Interface I2, the code compiles. Is there
> something wrong? or Is it a compiler's bug related to the declare parents?
>
> cheers,
> Henrique
> --
> ...............................................................................................................................
> Henrique Rebelo
> http://www.cin.ufpe.br/~hemr
> Informatics Center, UFPE, Brazil
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to