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.

InitializerAdvice.java 727B

1234567891011121314151617181920212223242526272829303132333435
  1. import org.aspectj.testing.Tester;
  2. public aspect InitializerAdvice {
  3. public static void test() {
  4. Tester.checkEqual(Foo.getStaticField(), "initialized", "static");
  5. Tester.checkEqual(new Foo().getInstanceField(), "initialized", "instance");
  6. }
  7. public static void main(String[] args) { test(); }
  8. /*static*/ before(): call(* *(..)) && this(Foo) {
  9. System.out.println("entering");
  10. }
  11. }
  12. class Foo {
  13. static String staticField = "";
  14. static {
  15. staticField = "initialized";
  16. }
  17. String instanceField = "";
  18. {
  19. instanceField = "initialized";
  20. }
  21. public static String getStaticField() {
  22. return staticField;
  23. }
  24. public String getInstanceField() {
  25. return instanceField;
  26. }
  27. }