Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. public class AroundA1 {
  2. public static void main(String[] args) {
  3. System.err.println(new AroundA1().main(3, (short)1, true));
  4. }
  5. public int main(int xx, short s, boolean yy) {
  6. System.err.println(xx);
  7. System.err.println(s);
  8. System.err.println(yy);
  9. return 10;
  10. }
  11. }
  12. aspect MyAroundAspect {
  13. int field = 10;
  14. pointcut foo(): call(int main(..));
  15. Object around(AroundA1 o, int i, boolean b): target(o) && args(i, *, b) && foo() {
  16. System.err.println("enter: " + o + " with " + field);
  17. Object x = proceed(o, 10, false);
  18. System.err.println("got: " + x);
  19. return new Integer(42);
  20. }
  21. // void around(Object a): args(a) && foo() {
  22. // System.out.println("enter");
  23. // proceed("new: " + a);
  24. // System.out.println("exit");
  25. // }
  26. //
  27. // void around(final String[] a): args(a) && foo() {
  28. // Runnable r = new Runnable() {
  29. // public void run() {
  30. // proceed(a);
  31. // }
  32. // };
  33. // r.run();
  34. // r.run();
  35. // }
  36. }