]> source.dussan.org Git - aspectj.git/commitdiff
307120: field accesses in itds of private fields
authoraclement <aclement>
Thu, 25 Mar 2010 22:01:16 +0000 (22:01 +0000)
committeraclement <aclement>
Thu, 25 Mar 2010 22:01:16 +0000 (22:01 +0000)
tests/bugs169/pr307120/A.java [new file with mode: 0644]
tests/bugs169/pr307120/Test.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/ajc169/Ajc169Tests.java
tests/src/org/aspectj/systemtest/ajc169/ajc169.xml

diff --git a/tests/bugs169/pr307120/A.java b/tests/bugs169/pr307120/A.java
new file mode 100644 (file)
index 0000000..643073b
--- /dev/null
@@ -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 (file)
index 0000000..a1dc40a
--- /dev/null
@@ -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;
+       }
+}
index 5953efbca2430c60c156f3cd0a15620686027b35..80d992169b495c7646c7f11ea5ca5e28918221c9 100644 (file)
@@ -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");
index caf0e8ec33c7e04dc86d77302e6cb261fa37f42c..37fa62e14db8936d0c2db854ef6f1e426a2dd75b 100644 (file)
@@ -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'"/>