[
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