Index: Pr113368.aj =================================================================== RCS file: /home/technology/org.aspectj/modules/tests/bugs150/Pr113368.aj,v retrieving revision 1.1 diff -u -r1.1 Pr113368.aj --- Pr113368.aj 21 Nov 2005 17:15:51 -0000 1.1 +++ Pr113368.aj 22 Nov 2005 04:37:58 -0000 @@ -1,6 +1,13 @@ + public aspect Pr113368 { - - private pointcut managedBeanConstruction(ManagedBean bean) : + + public static void main(String[] args) { + aspectOf().hook(); + } + + void hook() {} + + private pointcut managedBeanConstruction(ManagedBean bean) : execution(ManagedBean+.new(..)) && this(bean); //NPE's on the if pointcut below @@ -9,28 +16,24 @@ if(thisJoinPointStaticPart.getSignature().getDeclaringType() == bean.getClass()); after(ManagedBean bean) returning: topLevelManagedBeanConstruction(bean) { - System.out.println("I just constructed " + bean); - } - - public static void main(String[] args) { - new ManagedBean("super-bean"); - new ManagedSubBean(); + System.out.println("I just constructed " + bean); } } -class ManagedBean { - - public ManagedBean(String s) { - System.out.println(s); - } +abstract aspect ManagedBean { } -class ManagedSubBean extends ManagedBean { - - public ManagedSubBean() { - super("sub-bean"); - } - -} \ No newline at end of file +aspect ManagedSubBean extends ManagedBean { + + before() : execution(* hook()) { + } + +} + +aspect AutoStart { + before() : staticinitialization(ManagedBean) { + ManagedSubBean.aspectOf(); + } +}