diff options
author | aclement <aclement> | 2010-03-25 22:01:16 +0000 |
---|---|---|
committer | aclement <aclement> | 2010-03-25 22:01:16 +0000 |
commit | d55213952a178932984d98daec65b1d6034427ad (patch) | |
tree | 973884a7ec6d4c658f16db2f4fd191be542c6100 /tests | |
parent | 749078d83c99b0f19f4a3060460a17730faa97f9 (diff) | |
download | aspectj-d55213952a178932984d98daec65b1d6034427ad.tar.gz aspectj-d55213952a178932984d98daec65b1d6034427ad.zip |
307120: field accesses in itds of private fields
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs169/pr307120/A.java | 5 | ||||
-rw-r--r-- | tests/bugs169/pr307120/Test.java | 14 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java | 15 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc169/ajc169.xml | 16 |
4 files changed, 47 insertions, 3 deletions
diff --git a/tests/bugs169/pr307120/A.java b/tests/bugs169/pr307120/A.java new file mode 100644 index 000000000..643073bb9 --- /dev/null +++ b/tests/bugs169/pr307120/A.java @@ -0,0 +1,5 @@ +class A { + private + int foo; + int goo; +} diff --git a/tests/bugs169/pr307120/Test.java b/tests/bugs169/pr307120/Test.java new file mode 100644 index 000000000..a1dc40a44 --- /dev/null +++ b/tests/bugs169/pr307120/Test.java @@ -0,0 +1,14 @@ +privileged aspect Test { + + before(): get(* foo) {} + + before(): get(* goo) {} + + public int A.getFoo() { + return foo; + } + + public int A.getGoo() { + return goo; + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java b/tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java index 5953efbca..80d992169 100644 --- a/tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java @@ -18,10 +18,22 @@ import org.aspectj.testing.XMLBasedAjcTestCase; public class Ajc169Tests extends org.aspectj.testing.XMLBasedAjcTestCase { +// public void testAmbiguousMethod_298665() { +// runTest("ambiguous method"); +// } + // public void testStaticallyAnalyzableIf_292262_1() { // runTest("if with statically recognizable code"); // } + public void testAdvisingPrivilegedAccessMember_307120() { + runTest("advising privileged access member"); + } + + public void testAdvisingPrivilegedAccessMember_307120_2() { + runTest("advising privileged access member - 2"); + } + public void testTypePatternCategories_44365_Class() { runTest("type category type patterns - class"); } @@ -70,9 +82,6 @@ public class Ajc169Tests extends org.aspectj.testing.XMLBasedAjcTestCase { runTest("type category type patterns - e2"); } - // public void testAmbiguousMethod_298665() { - // runTest("ambiguous method"); - // } public void testChecker() { runTest("inserts in messages"); diff --git a/tests/src/org/aspectj/systemtest/ajc169/ajc169.xml b/tests/src/org/aspectj/systemtest/ajc169/ajc169.xml index caf0e8ec3..37fa62e14 100644 --- a/tests/src/org/aspectj/systemtest/ajc169/ajc169.xml +++ b/tests/src/org/aspectj/systemtest/ajc169/ajc169.xml @@ -2,6 +2,22 @@ <suite> + <ajc-test dir="bugs169/pr307120" title="advising privileged access member"> + <compile files="A.java Test.java" options="-showWeaveInfo"> + <message kind="weave" text="Type 'A' (A.java) has intertyped method from 'Test'"/> <!-- getFoo and getGoo --> + <message kind="weave" text="Join point 'field-get(int A.goo)' in Type 'Test'"/> + <message kind="weave" text="Join point 'field-get(int A.foo)' in Type 'Test'"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs169/pr307120" title="advising privileged access member - 2"> + <compile files="Test.java A.java" options="-showWeaveInfo"> + <message kind="weave" text="Type 'A' (A.java) has intertyped method from 'Test'"/> <!-- getFoo and getGoo --> + <message kind="weave" text="Join point 'field-get(int A.goo)' in Type 'Test'"/> + <message kind="weave" text="Join point 'field-get(int A.foo)' in Type 'Test'"/> + </compile> + </ajc-test> + <ajc-test dir="bugs169/pr292262" title="if with statically recognizable code"> <compile files="A.java"> <message kind="weave" text="Join point 'staticinitialization(void SimpleClass.<clinit>())' in Type 'SimpleClass'"/> |