aboutsummaryrefslogtreecommitdiffstats
path: root/tests/new/AbstractDeclare.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/new/AbstractDeclare.java')
-rw-r--r--tests/new/AbstractDeclare.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/new/AbstractDeclare.java b/tests/new/AbstractDeclare.java
new file mode 100644
index 000000000..6f3859913
--- /dev/null
+++ b/tests/new/AbstractDeclare.java
@@ -0,0 +1,31 @@
+public class AbstractDeclare {
+ public static void main(String[] args) {
+ new C().m();
+ int y = new C().x;
+ }
+}
+
+class C {
+ int x;
+
+ void m() {}
+}
+
+
+abstract aspect BaseErr {
+ abstract pointcut acid();
+ abstract pointcut base();
+
+ declare error: acid() && base():
+ "acid's and base's don't mix";
+}
+
+aspect CallErr extends BaseErr {
+ pointcut acid(): within(AbstractDeclare);
+ pointcut base(): call(* C.*());
+}
+
+aspect GetErr extends BaseErr {
+ pointcut acid(): within(AbstractDeclare);
+ pointcut base(): get(* C.*);
+}