|
123456789101112131415161718192021222324252627282930313233343536 |
- import org.aspectj.testing.Tester;
- import java.io.*;
-
- /**
- * Test for: PR #98
- */
-
- public class IntroductionOfInitializer {
- public static void main(String[] args) { test(); }
-
- public static void test() {
- Tester.checkEqual(Foo.a, "class", "zero instances");
- Foo foo = new Foo();
- Tester.checkEqual(Foo.a, "class-instance", "one instances");
- foo = new Foo();
- Tester.checkEqual(Foo.a, "class-instance-instance", "two instances");
- }
- }
-
- aspect A {
- private static String classValue = "class";
- private static String instanceValue = "-instance";
-
- after(): staticinitialization(Foo) {
- Foo.a += classValue;
- }
-
- after(): initialization(Foo.new(..)) {
- Foo.a += instanceValue;
- }
- }
-
-
- class Foo {
- static String a = "";
- }
|