summaryrefslogtreecommitdiffstats
path: root/tests/bugs/PrivilegeBeyondScope.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/bugs/PrivilegeBeyondScope.java')
-rw-r--r--tests/bugs/PrivilegeBeyondScope.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/bugs/PrivilegeBeyondScope.java b/tests/bugs/PrivilegeBeyondScope.java
new file mode 100644
index 000000000..77b706b15
--- /dev/null
+++ b/tests/bugs/PrivilegeBeyondScope.java
@@ -0,0 +1,26 @@
+
+import java.util.Observable;
+
+
+/** @testcase PR#906 privileged access out of code the compiler controls */
+public class PrivilegeBeyondScope {
+
+ public static void main (String[] args) {
+ new C().get();
+ throw new Error("expected compiler error");
+ }
+}
+
+class C {
+ Object get() {return null;}
+}
+
+privileged aspect A {
+ Observable observable = new Observable();
+
+ after() returning (Object o ) :
+ execution(Object C.get()) {
+ observable.setChanged(); // CE 22 (unable to implement privilege outside C
+ // CE unable to implement privilege outside code the compiler controls
+ }
+}