diff options
Diffstat (limited to 'tests/new/CflowAlone.java')
-rw-r--r-- | tests/new/CflowAlone.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/new/CflowAlone.java b/tests/new/CflowAlone.java new file mode 100644 index 000000000..19cdc035d --- /dev/null +++ b/tests/new/CflowAlone.java @@ -0,0 +1,29 @@ + +import org.aspectj.testing.Tester; +import org.aspectj.testing.Tester; + +public class CflowAlone { + public static void main(String[] args){ + new testclass1(); + Tester.check(0 < Filteraspect.i, + "0 < Filteraspect.i: " + Filteraspect.i); + } +} +class testclass1 {} +class testclass2 {} +aspect Filteraspect { + static int i; + // all these variants fail + //pointcut goCut(): cflow(this(testclass2)); + //pointcut goCut(): cflow(target(testclass2)); + //pointcut goCut(): cflow(args(testclass2)); + //pointcut goCut(): cflow(!within(FilterAspect)); + //pointcut goCut(): cflow(within(FilterAspect)); + //pointcut goCut(): cflow(within(testclass1)); + pointcut goCut(): !within(Filteraspect) && cflow(within(testclass1)); + // works ok + //pointcut goCut(): within(Filteraspect); + Object around(): goCut() { i++; return proceed(); } + // no bug when using before or after + //after(): goCut() { int i = 1; System.getProperties().put("foo", "bar");} +} |