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.

FieldInitializerJoinPoints.java 3.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. // This test verifies that join points exist in the execution of field initializers.
  2. import org.aspectj.testing.Tester;
  3. //class Tester {
  4. // public static void checkEqual(int i1, int i2, String s) {
  5. // System.err.println(s + ": " + i1 + " == " + i2);
  6. // }
  7. //}
  8. public class FieldInitializerJoinPoints {
  9. static int jcount = 0;
  10. static int kcount = 0;
  11. static int lcount = 0;
  12. static int mcount = 0;
  13. static int ncount = 0;
  14. static int ocount = 0;
  15. static int pcount = 0;
  16. static int qcount = 0;
  17. static int nMcount = 0;
  18. static int oMcount = 0;
  19. static int pMcount = 0;
  20. static int qMcount = 0;
  21. static final int j = 99; // not even a set join point here.
  22. static int k = 98; // a set join point
  23. final int l = 97; // not a join point (constant final)
  24. int m = 96; // yet another set join point
  25. void foo() {
  26. int i = 97;
  27. switch(i) {
  28. case l: System.err.println(l);
  29. }
  30. }
  31. static int n() { return 95; }
  32. static int o() { return 94; }
  33. static int p() { return 93; }
  34. static int q() { return 92; }
  35. static final int n = n(); // a call and set join point
  36. static int o = o(); // a call and set join point
  37. final int p = p(); // a call and set join point
  38. int q = q(); // a call and set join point
  39. public static void main(String[] args) {
  40. new FieldInitializerJoinPoints();
  41. new FieldInitializerJoinPoints();
  42. Tester.checkEqual(jcount, 0, "jcount");
  43. Tester.checkEqual(kcount, 1, "kcount");
  44. Tester.checkEqual(lcount, 0, "lcount");
  45. Tester.checkEqual(mcount, 2, "mcount");
  46. Tester.checkEqual(ncount, 1, "ncount");
  47. Tester.checkEqual(ocount, 1, "ocount");
  48. Tester.checkEqual(pcount, 2, "pcount");
  49. Tester.checkEqual(qcount, 2, "qcount");
  50. Tester.checkEqual(nMcount, 1, "nMcount");
  51. Tester.checkEqual(oMcount, 1, "oMcount");
  52. Tester.checkEqual(pMcount, 2, "pMcount");
  53. Tester.checkEqual(qMcount, 2, "qMcount");
  54. }
  55. }
  56. aspect A {
  57. public static void mumble(FieldInitializerJoinPoints fp) {
  58. System.err.println(fp.l);
  59. }
  60. before(): set(int FieldInitializerJoinPoints.j) { FieldInitializerJoinPoints.jcount++; }
  61. before(): set(int FieldInitializerJoinPoints.k) { FieldInitializerJoinPoints.kcount++; }
  62. before(): set(int FieldInitializerJoinPoints.l) { FieldInitializerJoinPoints.lcount++; }
  63. before(): set(int FieldInitializerJoinPoints.m) { FieldInitializerJoinPoints.mcount++; }
  64. before(): set(int FieldInitializerJoinPoints.n) { FieldInitializerJoinPoints.ncount++; }
  65. before(): set(int FieldInitializerJoinPoints.o) { FieldInitializerJoinPoints.ocount++; }
  66. before(): set(int FieldInitializerJoinPoints.p) { FieldInitializerJoinPoints.pcount++; }
  67. before(): set(int FieldInitializerJoinPoints.q) { FieldInitializerJoinPoints.qcount++; }
  68. before(): call(int FieldInitializerJoinPoints.n()) { FieldInitializerJoinPoints.nMcount++; }
  69. before(): call(int FieldInitializerJoinPoints.o()) { FieldInitializerJoinPoints.oMcount++; }
  70. before(): call(int FieldInitializerJoinPoints.p()) { FieldInitializerJoinPoints.pMcount++; }
  71. before(): call(int FieldInitializerJoinPoints.q()) { FieldInitializerJoinPoints.qMcount++; }
  72. }