1234567891011121314151617181920212223 |
-
- import org.aspectj.testing.Tester;
-
- /** @testcase PR#573 pertarget stack overflow getting name of anonymous class */
- public class PR573_1 {
- static public void main(String[] params) {
- final Object o1 = new Object();
- final Object o = new Object() {
- public void m() {
- o1.toString();
- }};
- Tester.expectEvent("A.init0");
- Tester.check(null != o, "null != o");
- o.toString(); // no exceptions
- Tester.check(1 == A.num, "1 == A.num: " + A.num);
- Tester.checkAllEvents();
- }
- }
- // different stack overflow when using Object, not Interface
- aspect A pertarget(target(Object) && !target(A)) { // was a warning in 1.0
- public static int num;
- A(){ Tester.event("A.init" + num++); }
- }
|