Fixed just now as https://bugs.eclipse.org/bugs/show_bug.cgi?id=231478
. Fix will be in next dev build of AspectJ.

You may find other issues as you head into this area, do feel free to
raise bugzilla entries for anything you encounter.

cheers,
Andy.

2008/5/11 Mark Stobbe <[EMAIL PROTECTED]>:
> Ok, thank you for your fast reply. I hope it can be fixed soon, as it would
> be useful for me.. then again.. you are probably already busy enough :)
>
>  Just for the sake of completeness, here is a (not so much) working test
> case:
>
>
>  /* Error message: Type B does not meet the specification for type parameter
> 1 (A extends Base) in generic type GenericAspectA */
>  abstract aspect GenericAspectA<A extends Base> {}
>  abstract aspect GenericAspectB<B extends SubBase> extends GenericAspectA<B>
> {}
>
>  /* Base extends SubBase extends SubSubBase */
>  class Base {}
>  class SubBase extends Base {}
>  class SubSubBase extends SubBase {}
>
>  /* Plain Java implementation */
>  class GenericA<A extends Base> {}
>  class GenericB<B extends SubBase> extends GenericA<B> {}
>
>
>  Good luck!
>  Mark
>
>
>
>  --------------------------------------------------
>  From: "Andy Clement" <[EMAIL PROTECTED]>
>  Sent: Sunday, May 11, 2008 8:55 PM
>  To: <[email protected]>
>  Subject: Re: [aspectj-users] Generic aspects
>
>
>
>
> > Hi Mark,
> >
> > The docs only say (
> >
> http://www.eclipse.org/aspectj/doc/released/adk15notebook/generics-inAspectJ5.html
> > ):
> >
> >
> > > AspectJ 5 allows an abstract aspect to be declared as a generic type.
> Any concrete aspect extending a generic abstract aspect must extend a
> parameterized version of the abstract aspect.
> > >
> >
> > That page of the doc also shows some examples of a hierarchy of
> > abstract generic aspects, although none of them alter the bounds in
> > the way your example does.  So the fact that your code won't compile
> > is a bug that needs fixing.
> >
> > cheers,
> > Andy.
> >
> > 2008/5/11 Mark Stobbe <[EMAIL PROTECTED]>:
> >
> > >
> > >
> > >
> > >
> > > Hello,
> > >
> > > First of all, I know this is not possible, as it says on the manual
> page..
> > > but I was wondering why..
> > > In plain Java you can redefine the upperbound of a type parameter, i.e.:
> > >
> > > class AbstractComponent<C extends Component> {}
> > > class AbstractWindow<W extends Window> extends AbstractComponent<W> {}
> > >
> > > Now.. trying the same thing with aspects.. does not work:
> > >
> > > abstract aspect AbstractComponentA<C extends Component> {}
> > > abstract aspect AbstractWindowA<W extends Window> extends
> > > AbstractComponentA<W> {}
> > >
> > > So.. my question, why isn't this supported? And what would be the "best"
> > > workaround?
> > >
> > > Thanks in advance,
> > > Mark
> > > _______________________________________________
> > >  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
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to