mirror of
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-09-13 15:45:38 +02:00
37 lines
787 B
Java
37 lines
787 B
Java
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 = "";
|
|
}
|