You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Parsing.java 750B

1234567891011121314151617181920212223242526272829303132
  1. enum Color { RED, GREEN, AMBER }
  2. @interface TrafficLight {
  3. Color value() default Color.RED; Color a() default Color.GREEN; Color c() default Color.GREEN; Color e() default Color.GREEN;
  4. }
  5. public class Parsing {
  6. public static void main(String[] args) {
  7. }
  8. }
  9. class Marked {
  10. public void a() {}
  11. @TrafficLight
  12. public void b() {}
  13. @TrafficLight(Color.RED)
  14. public void c() {}
  15. @TrafficLight(Color.GREEN)
  16. public void d() {}
  17. }
  18. aspect X {
  19. pointcut p1(): execution(@TrafficLight(Color.GREEN) * *(..));
  20. pointcut p2(): execution(@TrafficLight(a=Color.GREEN) * *(..));
  21. pointcut p3(): execution(@TrafficLight(a=Color.RED,c=Color.RED) * *(..));
  22. pointcut p4(): execution(@TrafficLight(a=Color.RED,c=Color.RED,e=Color.RED) * *(..));
  23. }