2002-12-16 19:51:06 +01:00
|
|
|
|
|
|
|
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
|
2002-12-19 23:12:38 +01:00
|
|
|
aspect A pertarget(target(Object) && !target(A)) { // was a warning in 1.0
|
2002-12-16 19:51:06 +01:00
|
|
|
public static int num;
|
|
|
|
A(){ Tester.event("A.init" + num++); }
|
|
|
|
}
|