[PRL] AspectJ "feature"
Karl Lieberherr
lieber at ccs.neu.edu
Wed Apr 6 15:00:45 EDT 2005
Hi Pengcheng:
Thanks for verifying that. Theo and I were both surprised that ajc would
not catch that.
The essence of John's argument is that the compiler should tell us about
unsatisfiable pointcuts and currently it does not.
-- Karl
-----Original Message-----
From: prl-bounces at lists.ccs.neu.edu
[mailto:prl-bounces at lists.ccs.neu.edu] On Behalf Of Pengcheng Wu
Sent: Tuesday, April 05, 2005 4:00 PM
To: John Clements
Cc: PRL Mailing List
Subject: Re: [PRL] AspectJ "feature"
On Tue, 5 Apr 2005, John Clements wrote:
> QUIZ QUESTION: what happens if you make a mistake in the name of the
> method called inside the advice? E.G:
>
> ...
> if (! c.legalwhoopsbadnameDx(dx)) {
> ...
>
>
> What happens is...
>
>
> nothing. No compile error, runs fine. The advice is _not_ applied,
no
> output to stdout. I can only guess that type information from the
body
> (in this case, the existence of a 'legalwhoopsbadnameDx' method) is
> implicitly added to the pointcut,
I don't know why you got nothing. When I compiled your program with ajc
1.1.1, I got:
ajc *.java
C:\temp\CheckDX.java:4 The method
legalwhoopsbadnameDx(int) is undefined for the type Counter
if (! c.legalwhoopsbadnameDx(dx)) {
^^^^^^^^^^^^^^^^^^^^
1 error
I am pretty sure the compiler does check this kind of errors.
--Pengcheng
_______________________________________________
PRL mailing list
PRL at lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/prl
More information about the PRL
mailing list