Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // for Bug#: 33635
  2. import org.aspectj.testing.Tester;
  3. public class NotIf {
  4. public static void main(String[] args) {
  5. Tester.checkEqual(Aspect1.ranNone, 0, "shouldn't run");
  6. Tester.checkEqual(Aspect1.ranTwo, 2, "should run");
  7. Tester.checkEqual(Aspect2.ran, 1, "should run with values");
  8. }
  9. }
  10. aspect Aspect1 {
  11. static int ranNone = 0;
  12. static int ranTwo = 0;
  13. static boolean testTrue() { return true; }
  14. static boolean testFalse() { return false; }
  15. before(): execution(void main(..)) && !if(testTrue()) {
  16. ranNone += 1;
  17. }
  18. before(): execution(void main(..)) && if(!testTrue()) {
  19. ranNone += 1;
  20. }
  21. before(): execution(void main(..)) && !if(testFalse()) {
  22. ranTwo += 1;
  23. }
  24. before(): execution(void main(..)) && if(!testFalse()) {
  25. ranTwo += 1;
  26. }
  27. }
  28. aspect Aspect2 {
  29. static int ran = 0;
  30. static boolean testValues(int i, String s, Object o) {
  31. return false;
  32. }
  33. before(String[] a): execution(void main(String[])) &&
  34. !if(testValues(a.length, a.toString(), a)) && args(a)
  35. {
  36. ran += 1;
  37. }
  38. }