summaryrefslogtreecommitdiffstats
path: root/tests/new/PR573.java
blob: 20dfb1ae4b8c8aa52c0b2bc9940846df5aed0aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import org.aspectj.testing.Tester;
import org.aspectj.testing.Tester; 

/** @testcase PR#573 pertarget stack overflow getting name of anonymous class */
public class PR573 { 
    static public void main(String[] params) {
        Tester.expectEvent("A.init0");
        final Object o = new Interface() {
            public void m(Object oa) {
                oa.toString(); 
            }};
        Tester.check(null != o, "null != o");
        ((Interface) o).m("hi"); // no exceptions
        Tester.check(1 == A.num, "1 == A.num: " + A.num);
        Tester.checkAllEvents();
    }
}
interface Interface { void m(Object o);}

aspect A pertarget(target(Interface)) { // was a warning in 1.0
    public static int num;
    A(){ Tester.event("A.init" + num++); }
}