Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Issues with @DeclareParents and @DeclareMixin

(not sure if this still belongs here or in eclipse.technology.ajdt, but what the hey)

> I'll try downloading the latest vanilla ganymede J2EE build from eclipse.org and see if that behaves any differently.

OK, I just downloaded and fired up Genymede SR2 (eclipse-jee-ganymede-SR2-win32.zip), added the AJDT update site and installed version 1.6.4.20090313172428.

Both my ParentsAspect and MixinAspect are applied successfully to test.Foo when it's in the same project, but if I try to get them to apply to Foo in another project that has the original one in its aspectpath, I get the "The type Foo must implement the inherited abstract method Runnable.run()" error for either one. I noted that there was a bug at one point around having the same class/package in multiple projects, but this persists even when I change the package / classname of Foo. The error is in both the editor and the problems list.

Just for fun, I then uninstalled the AJDT and installed the dev version 2.0.0.e34x-20090616-1700 which bundles AspectJ version: 1.6.5.20090612153600. Both aspects apply fine to classes in the same project. When trying to apply them to my client project, the ParentsAspect does the same thing as 1.6.4, but the MixinAspect causes an AspectJ Internal Compiler Error:

java.lang.NullPointerException
at org.aspectj.asm.internal.ProgramElement.addChild(ProgramElement.java:398)
at org.aspectj.weaver.model.AsmRelationshipProvider.addChildNodes(AsmRelationshipProvider.java:611)
at org.aspectj.weaver.model.AsmRelationshipProvider.createHierarchy(AsmRelationshipProvider.java:425)
at org.aspectj.weaver.model.AsmRelationshipProvider.addRelationship(AsmRelationshipProvider.java:121)
at org.aspectj.weaver.bcel.B ... OKEINTERFACE java.lang.Runnable.run ()V
                    RETURN   (line 17)
  end public static void main(String[])
end public class ctest.Foo


If there's any extra information that I can provide, or anything that you'd like me to try out, please let me know.

Cheers

Tom






Back to the top