blob: 3269fce3f99089ac2ba53f368f0968a974e69404 (
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
26
27
28
29
|
import org.aspectj.testing.Tester;
import org.aspectj.testing.Tester;
public class InnerInFieldInit {
public static void main(String[] args) {
Tester.expectEvent("innerfield");
TargetClass me = new TargetClass();
Tester.check(me.result, "me.result");
Tester.checkAllEvents();
}
}
interface Valid { public boolean valid();}
aspect InnerInFieldInitAspect {
/** @testcase Introduced type unavailable to qualified new expressions in introduced field initializers */
public boolean TargetClass.result =
new Valid() {
public boolean valid() {
InnerClass i = TargetClass.this.new InnerClass();
if (!i.valid()) Util.fail("this.new InnerClass()");
InnerClass j = getThis().new InnerClass();
if (!j.valid()) Util.fail("getThis().new InnerClass()");
Util.signal("innerfield");
return i.valid() && j.valid();
}
}.valid();
}
|