diff options
author | aclement <aclement> | 2008-06-11 18:24:26 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-06-11 18:24:26 +0000 |
commit | a0cf51dde7d399fbf7774df4709c19b8a7e95b4a (patch) | |
tree | 0d46c0fae3b41c462b7568d5372dbff3b14fb6cb /tests | |
parent | 3b13e9b46e82001b285bbc61634ec1c446e84343 (diff) | |
download | aspectj-a0cf51dde7d399fbf7774df4709c19b8a7e95b4a.tar.gz aspectj-a0cf51dde7d399fbf7774df4709c19b8a7e95b4a.zip |
197719: test and fix: advising protected method calls from inner classes
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs161/pr197719/A.java | 5 | ||||
-rw-r--r-- | tests/bugs161/pr197719/B.java | 19 | ||||
-rw-r--r-- | tests/bugs161/pr197719/X.java | 3 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java | 1 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc161/ajc161.xml | 11 |
5 files changed, 39 insertions, 0 deletions
diff --git a/tests/bugs161/pr197719/A.java b/tests/bugs161/pr197719/A.java new file mode 100644 index 000000000..bfb5dd9d1 --- /dev/null +++ b/tests/bugs161/pr197719/A.java @@ -0,0 +1,5 @@ +package a; + +public class A { + protected void m() { System.out.println("m() running");} +} diff --git a/tests/bugs161/pr197719/B.java b/tests/bugs161/pr197719/B.java new file mode 100644 index 000000000..cb5e2ffcf --- /dev/null +++ b/tests/bugs161/pr197719/B.java @@ -0,0 +1,19 @@ +package b; + +public class B extends a.A { + protected class Inner { + public void foo() { + System.out.println("calling m()"); + m(); + } + } + + public static void main(String []argv) { + B b = new B(); + b.run(); + } + + public void run() { + new Inner().foo(); + } +} diff --git a/tests/bugs161/pr197719/X.java b/tests/bugs161/pr197719/X.java new file mode 100644 index 000000000..2dce7a180 --- /dev/null +++ b/tests/bugs161/pr197719/X.java @@ -0,0 +1,3 @@ +public aspect X { + void around(): call(* m()) { System.out.println("advice running"); proceed();} +} diff --git a/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java b/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java index fb2b75f77..ed8cd9f32 100644 --- a/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java @@ -23,6 +23,7 @@ import org.aspectj.testing.XMLBasedAjcTestCase; public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase { // AspectJ1.6.1 + public void testProtectedMethodsAroundAdvice_pr197719() { runTest("protected methods and around advice - again");} public void testProtectedMethodsAroundAdvice_pr230075() { runTest("protected methods and around advice");} public void testFinalStringsAnnotationPointcut_pr174385() { runTest("static strings in annotation pointcuts");} public void testComplexBoundsGenericAspect_pr199130_1() { runTest("complex bounds on generic aspect - 1");} diff --git a/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml b/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml index c15f0a4f4..0265aa7d7 100644 --- a/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml +++ b/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml @@ -3,6 +3,17 @@ <!-- AspectJ v1.6.1 Tests --> <suite> + <ajc-test dir="bugs161/pr197719" title="protected methods and around advice - again"> + <compile files="A.java B.java X.java" options="-1.5"/> + <run class="b.B"> + <stdout> + <line text="calling m()"/> + <line text="advice running"/> + <line text="m() running"/> + </stdout> + </run> + </ajc-test> + <ajc-test dir="bugs161/pr230075" title="protected methods and around advice"> <compile files="A.java B.java C.java X.java" options="-1.5"/> <run class="a.C"/> |