You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pr115235.aj 638B

12345678910111213141516171819202122
  1. abstract aspect GenericAbstractAspect<T>{
  2. abstract protected pointcut pc();
  3. before() : pc() {}
  4. }
  5. aspect Concrete extends GenericAbstractAspect<Concrete> {
  6. // should get circular dependency error message from this
  7. protected pointcut pc() : pc();
  8. }
  9. aspect Concrete2 extends GenericAbstractAspect<Concrete2> {
  10. // this should compile as expected
  11. protected pointcut pc() : p1();
  12. pointcut p1() : call(void Concrete2.foo(..));
  13. }
  14. aspect Concrete3 extends GenericAbstractAspect<Concrete3> {
  15. // should get circular dependency error message from this
  16. protected pointcut pc() : pc1();
  17. pointcut pc1() : pc2();
  18. pointcut pc2() : pc();
  19. }