From: aclement Date: Fri, 22 Feb 2008 22:34:08 +0000 (+0000) Subject: annotation value matching: testcode X-Git-Tag: V1_6_0M2~36 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=dea37b79ecd150bd40fb23645161956737e141c4;p=aspectj.git annotation value matching: testcode --- diff --git a/tests/features160/annotationValueMatching/Broken1.java b/tests/features160/annotationValueMatching/Broken1.java new file mode 100644 index 000000000..ab0877c74 --- /dev/null +++ b/tests/features160/annotationValueMatching/Broken1.java @@ -0,0 +1,29 @@ +enum Color { RED, GREEN, AMBER } + +@interface TrafficLight { + Color value() default Color.RED; +} + +public class Broken1 { + public static void main(String[] args) { + + } +} + +class Marked { + + public void a() {} + + @TrafficLight + public void b() {} + + @TrafficLight(Color.RED) + public void c() {} + + @TrafficLight(Color.GREEN) + public void d() {} +} + +aspect X { + pointcut p1(): execution(@TrafficLight(a) * *(..)); // value of just 'a' doesn't mean anything - only enums supported right now, let's say 'invalid annotation value' +} diff --git a/tests/features160/annotationValueMatching/Color.java b/tests/features160/annotationValueMatching/Color.java new file mode 100644 index 000000000..086ba29a3 --- /dev/null +++ b/tests/features160/annotationValueMatching/Color.java @@ -0,0 +1,3 @@ +package p; + +public enum Color { RED, GREEN, AMBER } diff --git a/tests/features160/annotationValueMatching/EnumTest1.java b/tests/features160/annotationValueMatching/EnumTest1.java new file mode 100644 index 000000000..47966ecbd --- /dev/null +++ b/tests/features160/annotationValueMatching/EnumTest1.java @@ -0,0 +1,14 @@ +package a; + +import p.*; + +public aspect EnumTest1 { + public static void main(String[] argv) { + + } + @TrafficLight(Color.RED) public void m() {} + @TrafficLight(Color.GREEN) public void n() {} + @TrafficLight public void o() {} + + before(): execution(@TrafficLight(Color.RED) * *(..)) {} // referencing Color via import of p.* +} \ No newline at end of file diff --git a/tests/features160/annotationValueMatching/EnumTest2.java b/tests/features160/annotationValueMatching/EnumTest2.java new file mode 100644 index 000000000..b19593906 --- /dev/null +++ b/tests/features160/annotationValueMatching/EnumTest2.java @@ -0,0 +1,14 @@ +package a; + +import p.*; + +public aspect EnumTest2 { + public static void main(String[] argv) { + + } + @TrafficLight(Color.RED) public void m() {} + @TrafficLight(Color.GREEN) public void n() {} + @TrafficLight public void o() {} + + before(): execution(@TrafficLight(p.Color.RED) * *(..)) {}; // referencing Color directly in package p +} \ No newline at end of file diff --git a/tests/features160/annotationValueMatching/EnumTest3.java b/tests/features160/annotationValueMatching/EnumTest3.java new file mode 100644 index 000000000..f6f3f162a --- /dev/null +++ b/tests/features160/annotationValueMatching/EnumTest3.java @@ -0,0 +1,14 @@ +package a; + +import p.*; + +public aspect EnumTest3 { + public static void main(String[] argv) { + + } + @q.r.Fruity(q.r.Fruit.APPLE) public void m() {} + @q.r.Fruity(q.r.Fruit.BANANA) public void n() {} + @q.r.Fruity public void o() {} + + before(): execution(@q.r.Fruity(q.r.Fruit.APPLE) * *(..)) {}; // static import of fruits +} \ No newline at end of file diff --git a/tests/features160/annotationValueMatching/Fruit.java b/tests/features160/annotationValueMatching/Fruit.java new file mode 100644 index 000000000..1ea650033 --- /dev/null +++ b/tests/features160/annotationValueMatching/Fruit.java @@ -0,0 +1,3 @@ +package q.r; + +public enum Fruit { APPLE, ORANGE, BANANA } diff --git a/tests/features160/annotationValueMatching/Fruity.java b/tests/features160/annotationValueMatching/Fruity.java new file mode 100644 index 000000000..5635bf51c --- /dev/null +++ b/tests/features160/annotationValueMatching/Fruity.java @@ -0,0 +1,5 @@ +package q.r; + +public @interface Fruity { + Fruit value() default Fruit.BANANA; +} \ No newline at end of file diff --git a/tests/features160/annotationValueMatching/Parsing.java b/tests/features160/annotationValueMatching/Parsing.java new file mode 100644 index 000000000..f541a8610 --- /dev/null +++ b/tests/features160/annotationValueMatching/Parsing.java @@ -0,0 +1,32 @@ +enum Color { RED, GREEN, AMBER } + +@interface TrafficLight { + Color value() default Color.RED; +} + +public class Parsing { + public static void main(String[] args) { + + } +} + +class Marked { + + public void a() {} + + @TrafficLight + public void b() {} + + @TrafficLight(Color.RED) + public void c() {} + + @TrafficLight(Color.GREEN) + public void d() {} +} + +aspect X { + pointcut p1(): execution(@TrafficLight(Color.GREEN) * *(..)); + pointcut p2(): execution(@TrafficLight(a=Color.GREEN) * *(..)); + pointcut p3(): execution(@TrafficLight(a=Color.RED,c=Color.RED) * *(..)); + pointcut p4(): execution(@TrafficLight(a=Color.RED,c=Color.RED,e=Color.RED) * *(..)); +} \ No newline at end of file diff --git a/tests/features160/annotationValueMatching/Simple.java b/tests/features160/annotationValueMatching/Simple.java new file mode 100644 index 000000000..d70e2a8a8 --- /dev/null +++ b/tests/features160/annotationValueMatching/Simple.java @@ -0,0 +1,29 @@ +enum Color { RED, GREEN, AMBER } + +@interface TrafficLight { + Color value() default Color.RED; +} + +public class Simple { + public static void main(String[] args) { + + } +} + +class Marked { + + public void a() {} + + @TrafficLight + public void b() {} + + @TrafficLight(Color.RED) + public void c() {} + + @TrafficLight(Color.GREEN) + public void d() {} +} + +aspect X { + before(): execution(@TrafficLight(Color.RED) * *(..)) {} +} \ No newline at end of file diff --git a/tests/features160/annotationValueMatching/TrafficLight.java b/tests/features160/annotationValueMatching/TrafficLight.java new file mode 100644 index 000000000..3d1fbc818 --- /dev/null +++ b/tests/features160/annotationValueMatching/TrafficLight.java @@ -0,0 +1,5 @@ +package p; + +public @interface TrafficLight { + Color value() default Color.RED; +} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/Broken1.java b/tests/features160/parameterValueMatching/Broken1.java deleted file mode 100644 index ab0877c74..000000000 --- a/tests/features160/parameterValueMatching/Broken1.java +++ /dev/null @@ -1,29 +0,0 @@ -enum Color { RED, GREEN, AMBER } - -@interface TrafficLight { - Color value() default Color.RED; -} - -public class Broken1 { - public static void main(String[] args) { - - } -} - -class Marked { - - public void a() {} - - @TrafficLight - public void b() {} - - @TrafficLight(Color.RED) - public void c() {} - - @TrafficLight(Color.GREEN) - public void d() {} -} - -aspect X { - pointcut p1(): execution(@TrafficLight(a) * *(..)); // value of just 'a' doesn't mean anything - only enums supported right now, let's say 'invalid annotation value' -} diff --git a/tests/features160/parameterValueMatching/Color.java b/tests/features160/parameterValueMatching/Color.java deleted file mode 100644 index 086ba29a3..000000000 --- a/tests/features160/parameterValueMatching/Color.java +++ /dev/null @@ -1,3 +0,0 @@ -package p; - -public enum Color { RED, GREEN, AMBER } diff --git a/tests/features160/parameterValueMatching/EnumTest1.java b/tests/features160/parameterValueMatching/EnumTest1.java deleted file mode 100644 index 47966ecbd..000000000 --- a/tests/features160/parameterValueMatching/EnumTest1.java +++ /dev/null @@ -1,14 +0,0 @@ -package a; - -import p.*; - -public aspect EnumTest1 { - public static void main(String[] argv) { - - } - @TrafficLight(Color.RED) public void m() {} - @TrafficLight(Color.GREEN) public void n() {} - @TrafficLight public void o() {} - - before(): execution(@TrafficLight(Color.RED) * *(..)) {} // referencing Color via import of p.* -} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/EnumTest2.java b/tests/features160/parameterValueMatching/EnumTest2.java deleted file mode 100644 index b19593906..000000000 --- a/tests/features160/parameterValueMatching/EnumTest2.java +++ /dev/null @@ -1,14 +0,0 @@ -package a; - -import p.*; - -public aspect EnumTest2 { - public static void main(String[] argv) { - - } - @TrafficLight(Color.RED) public void m() {} - @TrafficLight(Color.GREEN) public void n() {} - @TrafficLight public void o() {} - - before(): execution(@TrafficLight(p.Color.RED) * *(..)) {}; // referencing Color directly in package p -} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/EnumTest3.java b/tests/features160/parameterValueMatching/EnumTest3.java deleted file mode 100644 index f6f3f162a..000000000 --- a/tests/features160/parameterValueMatching/EnumTest3.java +++ /dev/null @@ -1,14 +0,0 @@ -package a; - -import p.*; - -public aspect EnumTest3 { - public static void main(String[] argv) { - - } - @q.r.Fruity(q.r.Fruit.APPLE) public void m() {} - @q.r.Fruity(q.r.Fruit.BANANA) public void n() {} - @q.r.Fruity public void o() {} - - before(): execution(@q.r.Fruity(q.r.Fruit.APPLE) * *(..)) {}; // static import of fruits -} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/Fruit.java b/tests/features160/parameterValueMatching/Fruit.java deleted file mode 100644 index 1ea650033..000000000 --- a/tests/features160/parameterValueMatching/Fruit.java +++ /dev/null @@ -1,3 +0,0 @@ -package q.r; - -public enum Fruit { APPLE, ORANGE, BANANA } diff --git a/tests/features160/parameterValueMatching/Fruity.java b/tests/features160/parameterValueMatching/Fruity.java deleted file mode 100644 index 5635bf51c..000000000 --- a/tests/features160/parameterValueMatching/Fruity.java +++ /dev/null @@ -1,5 +0,0 @@ -package q.r; - -public @interface Fruity { - Fruit value() default Fruit.BANANA; -} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/Parsing.java b/tests/features160/parameterValueMatching/Parsing.java deleted file mode 100644 index f541a8610..000000000 --- a/tests/features160/parameterValueMatching/Parsing.java +++ /dev/null @@ -1,32 +0,0 @@ -enum Color { RED, GREEN, AMBER } - -@interface TrafficLight { - Color value() default Color.RED; -} - -public class Parsing { - public static void main(String[] args) { - - } -} - -class Marked { - - public void a() {} - - @TrafficLight - public void b() {} - - @TrafficLight(Color.RED) - public void c() {} - - @TrafficLight(Color.GREEN) - public void d() {} -} - -aspect X { - pointcut p1(): execution(@TrafficLight(Color.GREEN) * *(..)); - pointcut p2(): execution(@TrafficLight(a=Color.GREEN) * *(..)); - pointcut p3(): execution(@TrafficLight(a=Color.RED,c=Color.RED) * *(..)); - pointcut p4(): execution(@TrafficLight(a=Color.RED,c=Color.RED,e=Color.RED) * *(..)); -} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/Simple.java b/tests/features160/parameterValueMatching/Simple.java deleted file mode 100644 index d70e2a8a8..000000000 --- a/tests/features160/parameterValueMatching/Simple.java +++ /dev/null @@ -1,29 +0,0 @@ -enum Color { RED, GREEN, AMBER } - -@interface TrafficLight { - Color value() default Color.RED; -} - -public class Simple { - public static void main(String[] args) { - - } -} - -class Marked { - - public void a() {} - - @TrafficLight - public void b() {} - - @TrafficLight(Color.RED) - public void c() {} - - @TrafficLight(Color.GREEN) - public void d() {} -} - -aspect X { - before(): execution(@TrafficLight(Color.RED) * *(..)) {} -} \ No newline at end of file diff --git a/tests/features160/parameterValueMatching/TrafficLight.java b/tests/features160/parameterValueMatching/TrafficLight.java deleted file mode 100644 index 3d1fbc818..000000000 --- a/tests/features160/parameterValueMatching/TrafficLight.java +++ /dev/null @@ -1,5 +0,0 @@ -package p; - -public @interface TrafficLight { - Color value() default Color.RED; -} \ No newline at end of file