aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoraclement <aclement>2010-03-25 22:01:16 +0000
committeraclement <aclement>2010-03-25 22:01:16 +0000
commitd55213952a178932984d98daec65b1d6034427ad (patch)
tree973884a7ec6d4c658f16db2f4fd191be542c6100 /tests
parent749078d83c99b0f19f4a3060460a17730faa97f9 (diff)
downloadaspectj-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.java5
-rw-r--r--tests/bugs169/pr307120/Test.java14
-rw-r--r--tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java15
-rw-r--r--tests/src/org/aspectj/systemtest/ajc169/ajc169.xml16
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.&lt;clinit&gt;())' in Type 'SimpleClass'"/>