Hallo,
i'm testing the HEAD branch of the ab compiler at the moment.
In doing so i tried to compile AJHotDraw [1]. This is a aspectual
refactoring of the JHotDraw framework.
I had no difficulties by compiling AJHotDraw with the ajc. It finished
without any errors.
During the compilation with the abc the following error is thrown:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
abc:
[java] abc started on Sun Mar 09 20:53:43 GMT 2008
[java] /home/thomas/workspace/java/abc-head/../abc-head-ajhotdraw/AJHotDraw/src/aspects/org/jhotdraw/ccconcerns/commands/undo/DeleteCommandUndo.aj:56:
[java] Invalid application of around advice from aspect
[java] org.jhotdraw.ccconcerns.commands.undo.UndoRedoActivity
[java]
(/home/thomas/workspace/java/abc-head/../abc-head-ajhotdraw/AJHotDraw/src/aspects/org/jhotdraw/ccconcerns/commands/undo/UndoRedoActivity.aj,
[java] line 138) : Can't apply around advice with non-object
non-void return type
[java] to a void shadow (shadow type: void; advice return
type: boolean)
[java] setRedoable(true);
[java] ^---------------^
[java]
[java] 1 error.
[java] Java Result: 5
<<<<<<<<<<<<<<<<<<<<<<<<<
The source code of the indicated position is:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
boolean around(Undoable undoable, boolean newIsRedoable) :
callUndoableSetRedoable(undoable, newIsRedoable) {
return proceed(undoable, newIsRedoable);
}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
After commenting this posistion out the compiler throws the next error:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
abc:
[java] abc started on Sun Mar 09 21:06:13 GMT 2008
[java] Exception in thread "main"
polyglot.util.InternalCompilerError: unhandled exception during
weaving/optimisation
[java] at
abc.main.CompileSequence.runSequence(CompileSequence.java:121)
[java] at abc.main.Main.run(Main.java:487)
[java] at abc.main.Main.main(Main.java:144)
[java] Caused by: polyglot.util.InternalCompilerError:
/home/thomas/workspace/java/abc-head/../abc-head-ajhotdraw/AJHotDraw/src/aspects/org/jhotdraw/ccconcerns/commands/UndoableCommand.aj:102,1-128:2:
Error during matching
[java] at
abc.weaving.matching.AdviceApplication.doShadows(AdviceApplication.java:208)
[java] at
abc.main.AbcExtension.findMethodShadows(AbcExtension.java:542)
[java] at
abc.weaving.matching.AdviceApplication.doMethod(AdviceApplication.java:274)
[java] at
abc.weaving.matching.AdviceApplication.computeAdviceLists(AdviceApplication.java:312)
[java] at
abc.weaving.aspectinfo.GlobalAspectInfo.computeAdviceLists(GlobalAspectInfo.java:492)
[java] at abc.main.CompileSequence.weave(CompileSequence.java:426)
[java] at abc.main.CompileSequence.runSequence(CompileSequence.java:94)
[java] ... 2 more
[java] Caused by: java.lang.RuntimeException:
[java] Aborting: can't find classfile
org.aspectbench.runtime.reflect.Factory
[java] at soot.Scene.getSootClass(Scene.java:412)
[java] at abc.weaving.matching.AbcSJPInfo.<init>(AbcSJPInfo.java:48)
[java] at abc.main.AbcExtension.createSJPInfo(AbcExtension.java:351)
[java] at
abc.weaving.matching.MethodCallShadowMatch.makeSJPInfo(MethodCallShadowMatch.java:141)
[java] at
abc.weaving.matching.ShadowMatch.recordSJPInfo(ShadowMatch.java:75)
[java] at
abc.weaving.matching.ShadowMatch.getSJPInfo(ShadowMatch.java:81)
[java] at
abc.weaving.residues.JoinPointInfo.<init>(JoinPointInfo.java:59)
[java] at
abc.weaving.aspectinfo.AdviceDecl.postResidue(AdviceDecl.java:214)
[java] at
abc.weaving.matching.AdviceApplication$4.run(AdviceApplication.java:131)
[java] at
abc.weaving.matching.AdviceApplication.doShadows(AdviceApplication.java:191)
[java] ... 8 more
[java] Java Result: 1
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
For me it seems as if the abc act diffrent as the ajc.
Is this issue known or occured this problem in previous tests?
Greetings,
Thomas
[1] http://sourceforge.net/projects/ajhotdraw
Received on Sun Mar 09 2008 - 21:13:15 GMT
This archive was generated by hypermail 2.2.0 : Sun Mar 09 2008 - 21:50:10 GMT