diff options
Diffstat (limited to 'tests/new/innerAspectAccess/Driver.java')
-rw-r--r-- | tests/new/innerAspectAccess/Driver.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/new/innerAspectAccess/Driver.java b/tests/new/innerAspectAccess/Driver.java new file mode 100644 index 000000000..e77b66e2e --- /dev/null +++ b/tests/new/innerAspectAccess/Driver.java @@ -0,0 +1,40 @@ +import org.aspectj.testing.Tester; + +// PR#211 + +public class Driver { + public static String s = "s"; + + public static void main(String[] args) { test(); } + + public static void test() { + doIt(); + Tester.checkEqual(s, "s:a:b", "both advice worked"); + } + + public static String doIt() { + return s; + } +} + +aspect Outer { + static int N = 10; + + pointcut staticMeth(): within(Driver) && execution(String doIt()); + + static aspect Inner { + static void foo() { + int i = N; + } + + before(): staticMeth() { + Driver.s += ":b"; + } + + pointcut innerPoints(): within(Driver) && execution(void test()); + } + + before(): Outer.Inner.innerPoints() { + Driver.s += ":a"; + } +} |