Community
Participate
Working Groups
I use aspectj 1.1 rc1 I have: in a directory java public class C { } public interface I { } and in a directory aspects public aspect A { declare parents: C implements I; } if i compile sources with: <iajc outjar="a.jar" classpath="${aspectjrt.jar}" verbose="off"> <sourceRoots> <pathelement path="java" /> <pathelement path="aspects" /> </sourceRoots> </iajc> everything is ok but if i use (intoduction to a compiled class in a jar-file): <javac srcdir="java" destdir="classes" debug="on" optimize="off" deprecation="off" /> <jar jarfile="c.jar" basedir="classes" /> <iajc outjar="a.jar" injars="c.jar" classpath="${aspectjrt.jar}" verbose="off"> <sourceRoots> <pathelement path="aspects" /> </sourceRoots> </iajc> the class C doesn't implement the interface I.
Changing priority to make sure this is addressed in the next release.
this is now fixed in the current tree with a test in options/injars In 1.1 this will only work for interface parents. A compiler limitation error is reported if declare parents is used to change a superclass when only the binary form is around. This would require a lot more analysis to support properly.