Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Problem: ITD on generic classes via marker interface fails for implementing abstract method

Looks like a bug to me - please raise it and I'll look into it.

On 05/03/2008, Michael Esser <Michael.Esser@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi all,
>
>  please consider the following working example:
>
>
>  public class Foo<A> implements Marker<A>
>  { }
>
>  public interface Marker<A>
>  { }
>
>  public aspect AspectDoWhatEver
>  {
>      public void Marker<A>.doWhatEver()  { // do nothing
>      }
>  }
>
>
>  In that case the 'doWhatEver()' method got properly weaved into class
>  Foo<A>.
>  But when I slightly change the example by introducing a base class FooBase:
>
>
>  public class Foo<A> extends FooBase implements Marker<A>
>  { }
>
>  abstract public class FooBase
>  {
>      abstract public void doWhatEver();
>  }
>
>
>  there comes only the error message 'The type Foo<A> must implement the
>  inherited abstract method FooBase.doWhatEver()' !
>  But this should work or have I misunderstood something?
>
>  And it does works if I remove the type from class Foo:
>
>  public class Foo extends FooBase implements Marker
>  { }
>
>  But
>
>  public class Foo<A> extends FooBase implements Marker
>  { }
>
>  again does not work!
>
>  Unfortunately, I believe I need this possibility to realize mixins. :-(
>  So I would be happy for any answer why the above is not working.
>
>  Thanks,
>  Michael Esser
>
>  _______________________________________________
>  aspectj-users mailing list
>  aspectj-users@xxxxxxxxxxx
>  https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top