From: aclement Date: Mon, 16 Aug 2004 16:16:20 +0000 (+0000) Subject: Fixes for: X-Git-Tag: V1_2_1~136 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6b1ef0ff7cfd1dbb985993fd5486c9ddf31b280d;p=aspectj.git Fixes for: Bugzilla Bug 67578: Privileged Aspect Access Problem Across Packages Bugzilla Bug 67579: NPE on privileged aspect error --- diff --git a/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip b/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip index 9662dce55..3e7018819 100644 Binary files a/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip and b/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip differ diff --git a/org.eclipse.jdt.core/jdtcore-for-aspectj.jar b/org.eclipse.jdt.core/jdtcore-for-aspectj.jar index fb205d9a9..004291532 100644 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 index 000000000..47009cd8c --- /dev/null +++ b/tests/bugs/privilegedAccess/a/ITD.aj @@ -0,0 +1,6 @@ +package a; + +public class ITD { + private void returnNothing(Object a) { + } +} \ 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 index 000000000..46f2b1a68 --- /dev/null +++ b/tests/bugs/privilegedAccess/b/B.aj @@ -0,0 +1,13 @@ +package b; + +import a.*; + +privileged aspect B { + public void ITD.newFun() { + returnNothing("a"); + } + + public static void main(String [] argv) { + new ITD().newFun(); + } +} diff --git a/tests/bugs/privilegedAccess/b/B_notPrivileged.aj b/tests/bugs/privilegedAccess/b/B_notPrivileged.aj new file mode 100644 index 000000000..9ba5e9142 --- /dev/null +++ b/tests/bugs/privilegedAccess/b/B_notPrivileged.aj @@ -0,0 +1,13 @@ +package b; + +import a.*; + +aspect B { + public void ITD.newFun() { + returnNothing("a"); + } + + public static void main(String [] argv) { + new ITD().newFun(); + } +} diff --git a/tests/bugs/privilegedNPE/B.aj b/tests/bugs/privilegedNPE/B.aj new file mode 100644 index 000000000..ae872061d --- /dev/null +++ b/tests/bugs/privilegedNPE/B.aj @@ -0,0 +1,11 @@ + + +privileged aspect B { + void blah(ITD x) { x.returnNothing("y"); } + + public static void main(String[]argv) { + ITD a = new ITD(); + a.returnNothing("a"); + System.err.println("Call returned OK!"); + } +} diff --git a/tests/bugs/privilegedNPE/ITD.aj b/tests/bugs/privilegedNPE/ITD.aj new file mode 100644 index 000000000..bf2333d10 --- /dev/null +++ b/tests/bugs/privilegedNPE/ITD.aj @@ -0,0 +1,5 @@ + +public class ITD { + private void returnNothing(Object a) { + } +} diff --git a/tests/bugs/privilegedNPE/a/ITD.aj b/tests/bugs/privilegedNPE/a/ITD.aj new file mode 100644 index 000000000..78cd23d4e --- /dev/null +++ b/tests/bugs/privilegedNPE/a/ITD.aj @@ -0,0 +1,6 @@ +package a; + +public class ITD { + private void returnNothing(Object a) { + } +} diff --git a/tests/bugs/privilegedNPE/b/B.aj b/tests/bugs/privilegedNPE/b/B.aj new file mode 100644 index 000000000..9d8796a67 --- /dev/null +++ b/tests/bugs/privilegedNPE/b/B.aj @@ -0,0 +1,13 @@ +package b; + +import a.*; + +privileged aspect B { + void blah(ITD x) { x.returnNothing("y"); } + + public static void main(String[]argv) { + ITD a = new ITD(); + a.returnNothing("a"); + System.err.println("Call returned OK!"); + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java b/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java index 1d7964940..391d5f89f 100644 --- a/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc121/Ajc121Tests.java @@ -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)"); + } + } diff --git a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml index 1ebf21c7a..45ba9dcf8 100644 --- a/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml +++ b/tests/src/org/aspectj/systemtest/ajc121/ajc121-tests.xml @@ -305,3 +305,27 @@ + + + + + + + + + + + + + + + + + + + +