AspectJ and method overridinghttps://www.eclipse.org/forums/index.php/mv/msg/21857/70145/#msg_70145
I'm working on a project where OSGi mecanism is hidden in Aspects.

I have somme problem with methods overriding. Currently I have 2
interfaces A and B, B inheriting from A. I have the interface
ServiceListener provided by OSGi framework. All objects implementing A
and B must implement ServiceListener so they must have the method
serviceChanged(ServiceEvent event) implemented.

Here it is my two aspects :

aspect A {

declare parents: A implements ServiceListener;

public void A.serviceChanged(ServiceEvent evt) {
// Beginning of A treatment
...
// End of A treatment
}

}

aspect B {

declare parents: B implements ServiceListener;

public void B.serviceChanged(ServiceEvent evt) {
// Beginning of A treatment
...
// End of A treatment

// Beginning of B treatment
...
// End of B treatment
}

}

As I wish B execute the same code of A (its parent), I'm obliged to
rewrite all the A treatment. To avoid this useless recopy I wanted to
use the key word "super" to obtain this B aspect:

but that code doesn't work, surely because here, super is interpreted as
the aspect B parent that is Object and not as the B parent that is A.

If you have any help for this problem, I will be happy.

Thanks

Mickaël Gauvin]]>Mickael GAUVIN2007-07-11T09:45:02-00:00Re: AspectJ and method overriding some errors in my Aspects Namehttps://www.eclipse.org/forums/index.php/mv/msg/21857/70165/#msg_70165
and B name respectively by MyAspectA and MyAspectB to avoid confusing
with my interfaces

aspect MyAspectA {

declare parents: A implements ServiceListener;

public void A.serviceChanged(ServiceEvent evt) {
// Beginning of A treatment
...
// End of A treatment
}

}

aspect MyAspectB {

declare parents: B implements ServiceListener;

public void B.serviceChanged(ServiceEvent evt) {
// Beginning of A treatment
...
// End of A treatment

// Beginning of B treatment
...
// End of B treatment
}

}]]>Mickael GAUVIN2007-07-11T12:14:48-00:00Re: AspectJ and method overriding some errors in my Aspects Namehttps://www.eclipse.org/forums/index.php/mv/msg/21857/596174/#msg_596174
and B name respectively by MyAspectA and MyAspectB to avoid confusing
with my interfaces

aspect MyAspectA {

declare parents: A implements ServiceListener;

public void A.serviceChanged(ServiceEvent evt) {
// Beginning of A treatment
...
// End of A treatment
}

}

aspect MyAspectB {

declare parents: B implements ServiceListener;

public void B.serviceChanged(ServiceEvent evt) {
// Beginning of A treatment
...
// End of A treatment