diff options
Diffstat (limited to 'tests/new/InitializerAdvice.java')
-rw-r--r-- | tests/new/InitializerAdvice.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/new/InitializerAdvice.java b/tests/new/InitializerAdvice.java new file mode 100644 index 000000000..63ae8f859 --- /dev/null +++ b/tests/new/InitializerAdvice.java @@ -0,0 +1,35 @@ +import org.aspectj.testing.Tester; + +public aspect InitializerAdvice { + public static void test() { + Tester.checkEqual(Foo.getStaticField(), "initialized", "static"); + Tester.checkEqual(new Foo().getInstanceField(), "initialized", "instance"); + } + + public static void main(String[] args) { test(); } + + /*static*/ before(): call(* *(..)) && this(Foo) { + System.out.println("entering"); + } +} + +class Foo { + static String staticField = ""; + static { + staticField = "initialized"; + } + + String instanceField = ""; + { + instanceField = "initialized"; + } + + public static String getStaticField() { + return staticField; + } + + public String getInstanceField() { + return instanceField; + } +} + |