Community
Participate
Working Groups
Eclipse 3.1 The following source: public @interface A { A circular1(); // (a1) B circular2(); // (a2) } @interface B { A circular2(); // (b) } gets circularity errors reported on lines a1 and b (line a2 is missing). Commenting out line a1 allows to get the error on line a2. Swapping lines a1 and a2 like below still gets a single error reported on A, line a2 (which means the compiler only reports the first of such errors for a given annotation type definition into a considered compilation unit, and that moreover the depth of the cycle does not influence which error gets picked up.) public @interface A { B circular2(); // (a2) A circular1(); // (a1) } @interface B { A circular2(); // (b) }
Also, seems to me that 'in between' in the message 'Cycle detected: a cycle exists in between annotation attributes of B and A' should be replaced by 'between'.
Added AnnotationTest 193 And changed the error message
Verified for 3.2 M6 using warm-up build I20060327-0010.