Hi, Thomas.
I am surprised that this code compiles correctly with ajc because
indeed the compiler *should* throw an error. To me, this rather seems
to be a bug in the ajc compiler. Here's why:
UndoRedoActivity defines this pointcut and advice:
pointcut callUndoableSetRedoable(Undoable undoable, boolean newIsRedoable) :
call(void Undoable.setRedoable(boolean)) && ...
boolean around(Undoable undoable, boolean newIsRedoable) :
callUndoableSetRedoable(undoable, newIsRedoable) {
return proceed(undoable, newIsRedoable);
}
The pointcut can only match calls to void methods. The around-advice
however says that it returns a boolean. This is clearly a programming
error and should be caught by the compiler. (Of course in case of
AspectJ one can never tell for sure because there's not formal
semantics :-( ) You should raise a bug report for that at:
http://bugs.eclipse.org/bugs
> After commenting this posistion out the compiler throws the next error:
> [java] Caused by: java.lang.RuntimeException:
> [java] Aborting: can't find classfile
> org.aspectbench.runtime.reflect.Factory
This means that abc cannot find abc-runtime.jar. Is is on abc's classpath?
> For me it seems as if the abc act diffrent as the ajc.
Yes but I believe that abc is right in this case.
> Is this issue known or occured this problem in previous tests?
Not that I am aware of.
Eric
-- Eric Bodden Sable Research Group McGill University, Montréal, CanadaReceived on Sun Mar 09 2008 - 21:41:28 GMT
This archive was generated by hypermail 2.2.0 : Mon Mar 10 2008 - 08:10:11 GMT