Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Call pointcut and inhteritance

Hi all,

Consider the following simple hierarchy:

class A { public void m() {} }
class B extends A { public void m() {} }
class C extends B { public void m() }

along with the simple call pointcut

pointcut callMeth() : call (public void A.m());

The call pointcut callMeth() will match any call to A.m() but it includes all m's calls in subtypes of A.

The question is: Is there a straightforward solution to avoid matches in subtypes of A (and without using any special variable such as thisJoinPointStaticPart)?

I know that we can explicitly eliminate all descendants of A:

pointcut callMeth() : call (public void A.m()) &&
                             !call (public void B.m()) &&
                             !call (public void C.m()) ;

but, Is there another way?


Kind Regards,
Henrique


--
...............................................................................................................................
Henrique Rebelo
http://www.cin.ufpe.br/~hemr
Informatics Center, UFPE, Brazil

Back to the top