diff options
Diffstat (limited to 'tests/new/aroundinner/ThreadNoField.java')
-rw-r--r-- | tests/new/aroundinner/ThreadNoField.java | 28 |
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 + } +} |