diff options
author | aclement <aclement> | 2004-03-19 09:28:14 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-03-19 09:28:14 +0000 |
commit | 0a017593dcbeab409c1634da87b3f500b848e903 (patch) | |
tree | d9bd4b1fe70e8816853fcd994cbc3dd81ed9f1f2 /tests | |
parent | 5795b4afc617d5ed3ce9f9338ff59fe275bd56b0 (diff) | |
download | aspectj-0a017593dcbeab409c1634da87b3f500b848e903.tar.gz aspectj-0a017593dcbeab409c1634da87b3f500b848e903.zip |
Fix for Bugzilla Bug 53012
declare precedence on a class should be a compile-time error
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ajcTests.xml | 12 | ||||
-rw-r--r-- | tests/bugs/declarePrecedenceWithClasses/DeclarePrecedenceTestClass.java | 15 | ||||
-rw-r--r-- | tests/bugs/declarePrecedenceWithClasses/Priority.aj | 11 |
3 files changed, 38 insertions, 0 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index 33c0c645a..ce4620ece 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -7511,4 +7511,16 @@ </compile> </ajc-test> + <ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012" + title="declare precedence on a class should be a compile-time error"> + <compile files="DeclarePrecedenceTestClass.java" > + <message kind="error" line="10" text="Non-aspect types can only be specified"/> + </compile> + </ajc-test> + + <ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012" + title="declare precedence on a class should be a compile-time error"> + <compile files="Priority.aj" /> + </ajc-test> + </suite> diff --git a/tests/bugs/declarePrecedenceWithClasses/DeclarePrecedenceTestClass.java b/tests/bugs/declarePrecedenceWithClasses/DeclarePrecedenceTestClass.java new file mode 100644 index 000000000..98e2779d9 --- /dev/null +++ b/tests/bugs/declarePrecedenceWithClasses/DeclarePrecedenceTestClass.java @@ -0,0 +1,15 @@ +//Bug 53012 +// DP contains a declare precedence statement that mentions classes + +public class DeclarePrecedenceTestClass { + public static void main(String[] args) { + System.out.println("hello"); + } +} +aspect DP { + declare precedence: DeclarePrecedenceTestClass, DP; + + before() : staticinitialization(DeclarePrecedenceTestClass) { + System.out.println("ok"); + } +} diff --git a/tests/bugs/declarePrecedenceWithClasses/Priority.aj b/tests/bugs/declarePrecedenceWithClasses/Priority.aj new file mode 100644 index 000000000..fc44fbff0 --- /dev/null +++ b/tests/bugs/declarePrecedenceWithClasses/Priority.aj @@ -0,0 +1,11 @@ +// Bug 53012
+// Although the declare precedence mentions interfaces (and not aspects explicitly), it does
+// mention with a '+' suffix - this should be allowed.
+
+public aspect Priority {
+ public interface Highest {}
+ public interface Lowest {}
+ declare precedence: Highest+, *, Lowest+;
+}
+
+aspect Security implements Priority.Highest {}
|