diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ajcTests.xml | 13 | ||||
-rw-r--r-- | tests/bugs/bug70619/Conflict.java | 5 | ||||
-rw-r--r-- | tests/bugs/bug70619/Order1.aj | 8 | ||||
-rw-r--r-- | tests/bugs/bug70619/Order2.aj | 6 | ||||
-rw-r--r-- | tests/bugs/bug70619/Precedence.java | 13 |
5 files changed, 45 insertions, 0 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index e540a046e..08d856f20 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -7756,5 +7756,18 @@ <message kind="error" line="2" text="if() pointcut designator cannot be used directly in a per clause"/> </compile> </ajc-test> + + <ajc-test dir="bugs/bug70619" + pr="70619" title="compiler aborts with 'conflicting dominates orders' with circular declare precedences"> + <compile files="Precedence.java"> + <message kind="error" line="0" text="conflicting declare precedence"/> + </compile> + <compile files="Conflict.java,Order2.aj,Order1.aj"> + <message kind="error" line="0" text="conflicting declare precedence"/> + </compile> + <compile files="Conflict.java,Order1.aj,Order2.aj"> + <message kind="error" line="0" text="conflicting declare precedence"/> + </compile> + </ajc-test> </suite> diff --git a/tests/bugs/bug70619/Conflict.java b/tests/bugs/bug70619/Conflict.java new file mode 100644 index 000000000..11364ced9 --- /dev/null +++ b/tests/bugs/bug70619/Conflict.java @@ -0,0 +1,5 @@ + +class Conflict { + public static void main(String[] args) { } +} + diff --git a/tests/bugs/bug70619/Order1.aj b/tests/bugs/bug70619/Order1.aj new file mode 100644 index 000000000..01459565f --- /dev/null +++ b/tests/bugs/bug70619/Order1.aj @@ -0,0 +1,8 @@ +aspect Conflict1 {
+
+
+
+ declare precedence: Conflict1, Conflict2;
+
+ before(): execution(* *(..)) { }
+}
\ No newline at end of file diff --git a/tests/bugs/bug70619/Order2.aj b/tests/bugs/bug70619/Order2.aj new file mode 100644 index 000000000..9ee9c55cb --- /dev/null +++ b/tests/bugs/bug70619/Order2.aj @@ -0,0 +1,6 @@ +aspect Conflict2 {
+ after(): execution(* *(..)) { }
+ declare precedence: Conflict2, Conflict1;
+
+
+}
\ No newline at end of file diff --git a/tests/bugs/bug70619/Precedence.java b/tests/bugs/bug70619/Precedence.java new file mode 100644 index 000000000..306801867 --- /dev/null +++ b/tests/bugs/bug70619/Precedence.java @@ -0,0 +1,13 @@ +class Conflict { public static void main(String[] args) { } } + +aspect Conflict1 { + declare precedence: Conflict1,Conflict2; + + before(): execution(* *(..)) { } +} + +aspect Conflict2 { + declare precedence: Conflict2, Conflict1; + + after(): execution(* *(..)) { } +}
\ No newline at end of file |