blob: d8ff0252b875fdf835834456d72365caf282c85d (
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
|
public class ThreadNoField {
public static void main (String[] args) {
Target.main(args);
}
}
aspect Aspect {
static final String[] SIGNALS = new String[]
{ "around - start"
, "around - run - before proceed"
, "around - run - after proceed"
};
/** @testcase PR#620 around advice inner Thread subclass running proceed but not writing field */
int around(): Target.pointcutTarget() {
Thread runner = new Thread() {
public void run() {
Common.signal(SIGNALS[1]);
proceed();
Common.signal(SIGNALS[2]);
}
};
runner.start();
Common.joinWith(runner);
Common.signal(SIGNALS[0]);
return 1; // hard-wired since no result
}
}
|