Hi Eric,
> Thanks for your bug report.
You're welcome!
> However, I am a little bit confused. Java and AspectJ identifiers are not
> allowed to have any "$".
Yes, surprisingly both alow that. In relation to Java, I first saw such
a situation in the instrumented source code
generated by JML. In addition, since a valid AspectJ program is also a
valid Java program, we can use "$" in AspectJ
programs as well, for instance, in intertype declarations (as in
previous email).
So are you saying that ajc and abc actually parse the code that you gave?
Yes!
Thanks for replying.
Henrique
On Mon, May 18, 2009 at 5:12 PM, Eric Bodden <eric.bodden_at_mail.mcgill.ca>wrote:
> Hi Henrique.
>
> Thanks for your bug report. However, I am a little bit confused. Java
> and AspectJ identifiers are not allowed to have any "$". So are you
> saying that ajc and abc actually parse the code that you gave? Both
> would surprise me.
>
> Eric
>
> 2009/5/18 Henrique Rebêlo <hemr_at_cin.ufpe.br>:
> > Dear all abc experts,
> >
> > I have a problem when I try to compile the following simple hierarchy
> with
> > their respectively aspects:
> >
> > public interface I {
> >
> > public void m(int x);
> > }
> > }
> >
> > public class C implements I{
> >
> > public void m(int x) {
> > }
> > }
> >
> > public privileged aspect Aspect_I {
> >
> > private boolean I.m$I(int x) {
> > return true;
> > }
> > }
> >
> > public privileged aspect Aspect_C {
> >
> > private boolean C.m$C(int x) {
> > return (m$I(x)); --> probably the root of error!!!
> > }
> > }
> >
> > The error is the following:
> >
> > Buildfile:
> > C:\Java\Eclipse-Workspace\PhD\Experimentos\J2SE\TestABCWeaver\build.xml
> > compile-abc-files:
> > [java] Exception in thread "main"
> polyglot.util.InternalCompilerError:
> > unhandled exception during weaving/optimisation
> > [java] at
> > abc.main.CompileSequence.runSequence(CompileSequence.java:142)
> > [java] at abc.main.Main.run(Main.java:406)
> > [java] at abc.main.Main.main(Main.java:144)
> > [java] Caused by: polyglot.util.InternalCompilerError: Exception
> while
> > processing <C: boolean accessor$m$I$6(int)>
> > [java] at
> abc.main.CompileSequence.weave(CompileSequence.java:414)
> > [java] at
> > abc.main.CompileSequence.runSequence(CompileSequence.java:115)
> > [java] ... 2 more
> > [java] Caused by: java.lang.NullPointerException
> > [java] at
> soot.AbstractValueBox.setValue(AbstractValueBox.java:42)
> > [java] at
> > soot.jimple.internal.JimpleLocalBox.<init>(JimpleLocalBox.java:39)
> > [java] at soot.jimple.Jimple.newLocalBox(Jimple.java:850)
> > [java] at
> >
> soot.jimple.internal.JInterfaceInvokeExpr.<init>(JInterfaceInvokeExpr.java:42)
> > [java] at
> > soot.jimple.Jimple.newInterfaceInvokeExpr(Jimple.java:463)
> > [java] at
> >
> abc.soot.util.MethodAccessorMethodSource.getBody(MethodAccessorMethodSource.java:100)
> > [java] at
> > soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
> > [java] at
> soot.SootMethod.retrieveActiveBody(SootMethod.java:329)
> > [java] at
> abc.main.CompileSequence.weave(CompileSequence.java:410)
> > [java] ... 3 more
> > [java] Java Result: 1
> > BUILD SUCCESSFUL
> > Total time: 6 seconds
> >
> > When I compile just the Interface with its aspect, the compilation has
> no
> > problem... But when I put the above scenario, the above error occurs. I
> > tested and I figure out when I call the inherited intertype method m$I(x)
> > within the intertype declared in C (m$C(int x)), the problem happens!
> >
> > Can someone show me how to tackle this problem? The above scenario is
> just
> > a illustration, in fact, I use several other applications, but all of
> them
> > rely on the above
> > scenario!
> >
> > It's important to note that such a problem does not occur when I employ
> the
> > ajc weaver!!
> >
> > Regards,
> >
> > Henrique
> >
> >
> > --
> > Henrique Rebêlo, Centro de Informática, UFPE
> > http://www.cin.ufpe.br/~hemr <http://www.cin.ufpe.br/%7Ehemr>
> >
>
>
>
> --
> Eric Bodden
> Sable Research Group, McGill University
> Montréal, Québec, Canada
>
>
-- Henrique Rebêlo, Centro de Informática, UFPE http://www.cin.ufpe.br/~hemrReceived on Tue May 19 2009 - 03:36:00 BST
This archive was generated by hypermail 2.2.0 : Tue May 19 2009 - 12:30:11 BST