org.aspectj/tests/new/IntroductionOfInitializer.java

37 lines
787 B
Java
Raw Normal View History

2002-12-16 19:51:06 +01:00
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 = "";
}