--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2005 Contributors.
+ * All rights reserved.
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexandre Vasseur initial implementation
+ *******************************************************************************/
+package ataspectj.bugs;
+
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.annotation.Before;
+
+/**
+ * @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a>
+ */
+@Aspect
+public class AbstractAspectNPEChild extends AbstractAspectNPEParent {
+
+ @Pointcut("execution(* ataspectj.bugs.AbstractAspectNPEParent.main(..))")
+ void method(){};
+
+ @Before("method()")
+ public void test(){
+
+ }
+}
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2005 Contributors.
+ * All rights reserved.
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexandre Vasseur initial implementation
+ *******************************************************************************/
+package ataspectj.bugs;
+
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.annotation.Aspect;
+
+/**
+ * @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a>
+ */
+@Aspect
+public abstract class AbstractAspectNPEParent {
+
+ @Pointcut
+ abstract void method();//NPE at AJC time
+
+ public static void main(String args[]){
+ }
+}
public void testDeclareParentsImplements() {
runTest("DeclareParentsImplements");
}
-}
\ No newline at end of file
+
+ public void testAbstractAspectNPE() {
+ runTest("AbstractAspectNPE");
+ }
+
+}
<run class="ataspectj.DeclareParentsImplementsTest"/>
</ajc-test>
+ <ajc-test dir="java5/ataspectj" title="AbstractAspectNPE">
+ <compile files="ataspectj/bugs/AbstractAspectNPEParent.java,ataspectj/bugs/AbstractAspectNPEChild.java"
+ options="-1.5 -showWeaveInfo">
+ <message kind="weave" text="Join point 'method-execution(void ataspectj.bugs.AbstractAspectNPEParent.main"/>
+ </compile>
+ </ajc-test>
+
</suite>
\ No newline at end of file