diff options
author | jhugunin <jhugunin> | 2004-01-14 11:28:13 +0000 |
---|---|---|
committer | jhugunin <jhugunin> | 2004-01-14 11:28:13 +0000 |
commit | 7bbd1f419239dc9e8b46e7fd912b2bc007bbd76a (patch) | |
tree | dbe5e47911df5c873860174baf2dc403536e6915 /tests | |
parent | 5c4db9cb620918dcf064ddbfc50f54130d3b2cab (diff) | |
download | aspectj-7bbd1f419239dc9e8b46e7fd912b2bc007bbd76a.tar.gz aspectj-7bbd1f419239dc9e8b46e7fd912b2bc007bbd76a.zip |
Fix for Bugzilla Bug 46280
compiler issues error on inner aspects when privilieged
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ajcTests.xml | 7 | ||||
-rw-r--r-- | tests/bugs/PrivilegedParsing.java | 41 |
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index 8b48f4cda..6a68bc4a6 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -6964,6 +6964,13 @@ <message kind="error" line="8"/> </compile> </ajc-test> + + <ajc-test dir="bugs" + pr="46280" + title="compiler issues error on inner aspects when privilieged"> + <compile files="PrivilegedParsing.java"/> + <run class="PrivilegedParsing"/> + </ajc-test> <ajc-test dir="bugs" pr="44586" title="After throwing advice on ctors doesn't execute for inter-type decl field inits"> diff --git a/tests/bugs/PrivilegedParsing.java b/tests/bugs/PrivilegedParsing.java new file mode 100644 index 000000000..4fd0e66eb --- /dev/null +++ b/tests/bugs/PrivilegedParsing.java @@ -0,0 +1,41 @@ +public class PrivilegedParsing { + private int hidden; + public int visible; + public PrivilegedParsing(int priv, int pub) { + hidden = priv; + visible = pub; + } + public void doSomething() { + System.out.println("" + hidden + ", " + visible + ""); + } + public static void main(String[] args) { + PrivilegedParsing capsule = new PrivilegedParsing(1, 1); + capsule.doSomething(); + } +} + +aspect Outer { + static privileged //<== JUST TRY TO UNCOMMENT THIS! + aspect Inner { + pointcut call2doSomething(PrivilegedParsing capsule): + call(void PrivilegedParsing.doSomething()) + && target(capsule); + before(PrivilegedParsing capsule): call2doSomething(capsule) { + capsule.visible++; + capsule.hidden++; + } + } +} + +interface Marker { + static privileged //<== JUST TRY TO UNCOMMENT THIS! + aspect Inner { + pointcut call2doSomething(PrivilegedParsing capsule): + call(void PrivilegedParsing.doSomething()) + && target(capsule); + before(PrivilegedParsing capsule): call2doSomething(capsule) { + capsule.visible++; + capsule.hidden++; + } + } +}
\ No newline at end of file |