summaryrefslogtreecommitdiffstats
path: root/tests/bugs150
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bugs150')
-rw-r--r--tests/bugs150/Pr114054.aj30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/bugs150/Pr114054.aj b/tests/bugs150/Pr114054.aj
new file mode 100644
index 000000000..3f776df43
--- /dev/null
+++ b/tests/bugs150/Pr114054.aj
@@ -0,0 +1,30 @@
+public class Pr114054 {
+ public static boolean passed;
+ public static void main(String[] args) {
+ SampleSeries me = new SampleSeries();
+ me.okSeries();
+ me.open();
+ me.close();
+ if (!passed) {
+ throw new Error("failed to advise...");
+ }
+ }
+ static class SampleSeries {
+ void open() {}
+ void close() {}
+ void okSeries() {open(); close();}
+ }
+ static aspect AAAA
+ // comment this out, and !call(...) works
+ pertarget(tracked())
+ {
+ protected final pointcut tracked() :
+ call(void SampleSeries.*())
+ // comment this out, and pertarget works...
+ && !call(void SampleSeries.*Series())
+ ;
+ before() : tracked() {
+ Pr114054.passed = true;
+ }
+ }
+} \ No newline at end of file