diff options
author | Andy Clement <aclement@gopivotal.com> | 2014-11-17 18:32:25 -0800 |
---|---|---|
committer | Andy Clement <aclement@gopivotal.com> | 2014-11-17 18:32:25 -0800 |
commit | ec91e93ac09fa9a347a8e8d0f99db3585dd93060 (patch) | |
tree | cb10973d67f2cf852ac4d4a0cea7546f1e5e2fd4 /tests | |
parent | 934f0b86c5543737d4859131024cf73995fdc347 (diff) | |
download | aspectj-ec91e93ac09fa9a347a8e8d0f99db3585dd93060.tar.gz aspectj-ec91e93ac09fa9a347a8e8d0f99db3585dd93060.zip |
Further 451966: privileged aspect and ITDs
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bugs185/451966/Code2.java | 31 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc185/Ajc185Tests.java | 7 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc185/ajc185.xml | 7 |
3 files changed, 43 insertions, 2 deletions
diff --git a/tests/bugs185/451966/Code2.java b/tests/bugs185/451966/Code2.java new file mode 100644 index 000000000..d40211725 --- /dev/null +++ b/tests/bugs185/451966/Code2.java @@ -0,0 +1,31 @@ + +public class Code2 { + public static void main(String []argv) { + new Bar().foo(); + } +} +interface Common { } + +interface Allergies extends Common { + default public void foo() { + } +} + +class Bar implements Allergies { } + +aspect Y { + private boolean Common.instancesInvariant() { + return false; + } +} + +privileged aspect AspectJMLRac_allergies_Allergies { + before(final Allergies object$rac): execution(* Allergies+.*(..)) && this(object$rac) { + Runnable r = new Runnable() { + public void run() { + boolean b = object$rac.instancesInvariant(); + } + }; + boolean b = object$rac.instancesInvariant(); + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc185/Ajc185Tests.java b/tests/src/org/aspectj/systemtest/ajc185/Ajc185Tests.java index 9fefaa5eb..135eb8464 100644 --- a/tests/src/org/aspectj/systemtest/ajc185/Ajc185Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc185/Ajc185Tests.java @@ -24,7 +24,12 @@ public class Ajc185Tests extends org.aspectj.testing.XMLBasedAjcTestCase { public void testITDInterface_451966() throws Exception { runTest("itd interface"); } - + + public void testITDInterface_451966_2() throws Exception { + // call made from inner type + runTest("itd interface - 2"); + } + // --- public static Test suite() { diff --git a/tests/src/org/aspectj/systemtest/ajc185/ajc185.xml b/tests/src/org/aspectj/systemtest/ajc185/ajc185.xml index 5e8f8dc8a..7c30d7bf4 100644 --- a/tests/src/org/aspectj/systemtest/ajc185/ajc185.xml +++ b/tests/src/org/aspectj/systemtest/ajc185/ajc185.xml @@ -2,11 +2,16 @@ <suite> - <ajc-test dir="bugs185/451966" title="itd interface"> <compile files="Code.java" options="-1.8"/> <run class="Code"> </run> </ajc-test> +<ajc-test dir="bugs185/451966" title="itd interface - 2"> +<compile files="Code2.java" options="-1.8"/> +<run class="Code2"> +</run> +</ajc-test> + </suite> |