]> source.dussan.org Git - aspectj.git/commitdiff
Fixes for:
authoraclement <aclement>
Mon, 16 Aug 2004 16:16:20 +0000 (16:16 +0000)
committeraclement <aclement>
Mon, 16 Aug 2004 16:16:20 +0000 (16:16 +0000)
Bugzilla Bug 67578: Privileged Aspect Access Problem Across Packages
Bugzilla Bug 67579: NPE on privileged aspect error

org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip
org.eclipse.jdt.core/jdtcore-for-aspectj.jar
tests/bugs/privilegedAccess/a/ITD.aj [new file with mode: 0644]
tests/bugs/privilegedAccess/b/B.aj [new file with mode: 0644]
tests/bugs/privilegedAccess/b/B_notPrivileged.aj [new file with mode: 0644]
tests/bugs/privilegedNPE/B.aj [new file with mode: 0644]
tests/bugs/privilegedNPE/ITD.aj [new file with mode: 0644]
tests/bugs/privilegedNPE/a/ITD.aj [new file with mode: 0644]
tests/bugs/privilegedNPE/b/B.aj [new file with mode: 0644]
tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java
tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml

index 9662dce553f09a2df66b0a0d0766477286f20e38..3e7018819d534291d81201054a3e2c8f7076cc0f 100644 (file)
Binary files a/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip and b/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip differ
index fb205d9a94c34c39d1df57c3433fefa4ef238e68..004291532169db11273296eceb6a574f2312e1ad 100644 (file)
Binary files a/org.eclipse.jdt.core/jdtcore-for-aspectj.jar and b/org.eclipse.jdt.core/jdtcore-for-aspectj.jar differ
diff --git a/tests/bugs/privilegedAccess/a/ITD.aj b/tests/bugs/privilegedAccess/a/ITD.aj
new file mode 100644 (file)
index 0000000..47009cd
--- /dev/null
@@ -0,0 +1,6 @@
+package a;\r
+\r
+public class ITD {\r
+    private void returnNothing(Object a) {\r
+    }\r
+}
\ No newline at end of file
diff --git a/tests/bugs/privilegedAccess/b/B.aj b/tests/bugs/privilegedAccess/b/B.aj
new file mode 100644 (file)
index 0000000..46f2b1a
--- /dev/null
@@ -0,0 +1,13 @@
+package b;\r
+\r
+import a.*;\r
+\r
+privileged aspect B {\r
+  public void ITD.newFun() {\r
+      returnNothing("a");\r
+  }\r
+\r
+  public static void main(String [] argv) {\r
+    new ITD().newFun();\r
+  }\r
+}\r
diff --git a/tests/bugs/privilegedAccess/b/B_notPrivileged.aj b/tests/bugs/privilegedAccess/b/B_notPrivileged.aj
new file mode 100644 (file)
index 0000000..9ba5e91
--- /dev/null
@@ -0,0 +1,13 @@
+package b;\r
+\r
+import a.*;\r
+\r
+aspect B {\r
+  public void ITD.newFun() {\r
+      returnNothing("a");\r
+  }\r
+\r
+  public static void main(String [] argv) {\r
+    new ITD().newFun();\r
+  }\r
+}\r
diff --git a/tests/bugs/privilegedNPE/B.aj b/tests/bugs/privilegedNPE/B.aj
new file mode 100644 (file)
index 0000000..ae87206
--- /dev/null
@@ -0,0 +1,11 @@
+\r
+\r
+privileged aspect B {\r
+  void blah(ITD x) { x.returnNothing("y"); }\r
+\r
+  public static void main(String[]argv) {\r
+    ITD a = new ITD();\r
+    a.returnNothing("a");\r
+    System.err.println("Call returned OK!");\r
+  }\r
+}\r
diff --git a/tests/bugs/privilegedNPE/ITD.aj b/tests/bugs/privilegedNPE/ITD.aj
new file mode 100644 (file)
index 0000000..bf2333d
--- /dev/null
@@ -0,0 +1,5 @@
+\r
+public class ITD {\r
+    private void returnNothing(Object a) {\r
+    }\r
+}\r
diff --git a/tests/bugs/privilegedNPE/a/ITD.aj b/tests/bugs/privilegedNPE/a/ITD.aj
new file mode 100644 (file)
index 0000000..78cd23d
--- /dev/null
@@ -0,0 +1,6 @@
+package a;\r
+\r
+public class ITD {\r
+    private void returnNothing(Object a) {\r
+    }\r
+}\r
diff --git a/tests/bugs/privilegedNPE/b/B.aj b/tests/bugs/privilegedNPE/b/B.aj
new file mode 100644 (file)
index 0000000..9d8796a
--- /dev/null
@@ -0,0 +1,13 @@
+package b;\r
+\r
+import a.*;\r
+\r
+privileged aspect B {\r
+  void blah(ITD x) { x.returnNothing("y"); }\r
+\r
+  public static void main(String[]argv) {\r
+    ITD a = new ITD();\r
+    a.returnNothing("a");\r
+    System.err.println("Call returned OK!");\r
+  }\r
+}\r
index 1d79649402ee68416d32f19b67f136023e0b92b4..391d5f89fcc4cf24a68f40b9300af54cc4a28335 100644 (file)
@@ -210,5 +210,21 @@ public class Ajc121Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
                   s.equals(":before:around"));
   }
 
+  public void test039_privilegedAspectAccessingPrivateMethods_pr67579() {
+       runTest("NPE on privileged aspect error");
+  }
+  
+  public void test040_privilegedAspectAccessingPrivateMethods_pr67579_2() {
+       runTest("NPE on privileged aspect error (2)");
+  }
+  
+  public void test041_ITDaccessingPrivateMethod_pr67578() {
+       runTest("Privileged Aspect Access Problem Across Packages");
+  }
+  
+  public void test042_ITDaccessingPrivateMethod_pr67578_2() {
+       runTest("Privileged Aspect Access Problem Across Packages (2)");
+  }
+
 }
 
index 1ebf21c7a2c8a6d4e6bdc3cee4e9f4301f3b5f31..45ba9dcf8a772d2f12542c3835baa23de7c653f5 100644 (file)
                <run class="def.PrivateCall_Instance_Package2"/>
        </ajc-test>
 
+       <ajc-test dir="bugs/privilegedNPE" pr="67579"
+               title="NPE on privileged aspect error">
+               <compile files="a\ITD.aj,b\B.aj"/>
+               <run class="b.B"/>
+       </ajc-test>
+       
+       <ajc-test dir="bugs/privilegedNPE" pr="67579"
+               title="NPE on privileged aspect error (2)">
+               <compile files="b\B.aj,a\ITD.aj"/>
+               <run class="b.B"/>
+       </ajc-test>
+
+    <ajc-test dir="bugs/privilegedAccess" pr="67578"
+               title="Privileged Aspect Access Problem Across Packages">
+               <compile files="b\B.aj,a\ITD.aj"/>
+               <run class="b.B"/>
+       </ajc-test>
+       
+       <ajc-test dir="bugs/privilegedAccess" pr="67578"
+               title="Privileged Aspect Access Problem Across Packages (2)">
+               <compile files="b\B_notPrivileged.aj,a\ITD.aj">
+                       <message kind="error" line="7" text="The method returnNothing(Object) from the type ITD is not visible"/>
+               </compile>
+       </ajc-test>