Project: AspectJ
Bug 30439 spurious "circular dependency" error
Reported: 2003-01-28 16:20:10 | Status: resolved fixed

AspectJ Compiler 1.1beta4 This program: aspect Foo { pointcut p1(): execution(void f()) && cflow(execution(void f1())); pointcut p2(): execution(void f()) && cflow(execution(void f2())); before(): p1() { } after(): p1() { } before(): p2() { } after(): p2() { } } class A { void f1() { f(); } void f2() { f(); } void f() { } } results in these errors: circular dependency at method-execution(void A.f()) circular dependency at method-execution(void A.f()) circular dependency at method-execution(void A.f()) circular dependency at method-execution(void A.f()) 4 errors If I comment out any one of the four pieces of advice, all the errors go away. Also, assuming that there is a valid reason for printing this error sometimes, how come there's no line number? --Doug

Files changed in fix:
weaver/src/org/aspectj/weaver/Advice.java weaver/src/org/aspectj/weaver/Lint.java weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java weaver/src/org/aspectj/weaver/ResolvedTypeX.java weaver/src/org/aspectj/weaver/Shadow.java weaver/src/org/aspectj/weaver/WeaverMessages.java weaver/src/org/aspectj/weaver/WeaverStateInfo.java weaver/src/org/aspectj/weaver/World.java weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java weaver/src/org/aspectj/weaver/patterns/DeclareParents.java weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java weaver/src/org/aspectj/weaver/patterns/DeclareSoft.java weaver/src/org/aspectj/weaver/patterns/IfPointcut.java weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java weaver/src/org/aspectj/weaver/patterns/TypePattern.java weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java weaver/testsrc/org/aspectj/weaver/BcweaverTests.java weaver/testsrc/org/aspectj/weaver/WeaverMessagesTestCase.java