summaryrefslogtreecommitdiffstats
path: root/tests/new/aroundinner/ThreadNoField.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/new/aroundinner/ThreadNoField.java')
-rw-r--r--tests/new/aroundinner/ThreadNoField.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/new/aroundinner/ThreadNoField.java b/tests/new/aroundinner/ThreadNoField.java
new file mode 100644
index 000000000..d8ff0252b
--- /dev/null
+++ b/tests/new/aroundinner/ThreadNoField.java
@@ -0,0 +1,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
+ }
+}