Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] execution join points and overridden methods

Wes Isberg writes:
 > The programming guide, semantics appendix is typically laconic:
 > 
 >   At a method execution join point, the signature [is] a method 
 >   signature whose qualifying type is the declaring type of 
 >   the method.

I saw this sentence, but I decided it was irrelevant, or at least
didn't tell the whole story: it specifies the signature of a
method execution join point, but it doesn't specify how a method
execution pointcut designator signature pattern matches it.

 > So in our example, the declaring type is A1.

I think this is wrong: thisJoinPoint.getSignature().getDeclaringType()
returns A2.  Even if it were A1, it wouldn't explain why both
pointcuts (with different qualifying types) contain the same join
point.

 > (I should have said "declared in A1" rather than "defined in A1";
 > though both are true, declare is what matters.)  Same result if A1
 > were an interface.

As far as I know, the whole declaration/definition distinction is just
left over from C and doesn't exist in the Java language spec.  A
class declaration contains member declarations; a class type contains
declared and inherited members.

--dougo@xxxxxxxxx


Back to the top