import org.aspectj.testing.Tester; public class PreInitialization { PreInitialization() { this(PreInitialization.interestingCall()); } PreInitialization(int ignored) { } public static void main(String[] args) { new PreInitialization(); Tester.checkEvents(new String[] {"before advice ran"}); } static int interestingCall() { // do something interesting return 3; } } aspect A { before(): call(int PreInitialization.interestingCall()) { Tester.checkEqual(thisEnclosingJoinPointStaticPart.getKind(), "preinitialization"); Tester.event("before advice ran"); } }