diff options
4 files changed, 72 insertions, 1 deletions
diff --git a/tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEChild.java b/tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEChild.java new file mode 100644 index 000000000..0adbf41f1 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEChild.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * 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(){ + + } +} diff --git a/tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEParent.java b/tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEParent.java new file mode 100644 index 000000000..8cba4b3b3 --- /dev/null +++ b/tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEParent.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * 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[]){ + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjSyntaxTests.java b/tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjSyntaxTests.java index 5e802c4a7..c462cdea8 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjSyntaxTests.java +++ b/tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjSyntaxTests.java @@ -128,4 +128,9 @@ public class AtAjSyntaxTests extends XMLBasedAjcTestCase { public void testDeclareParentsImplements() { runTest("DeclareParentsImplements"); } -}
\ No newline at end of file + + public void testAbstractAspectNPE() { + runTest("AbstractAspectNPE"); + } + +} diff --git a/tests/src/org/aspectj/systemtest/ajc150/ataspectj/syntax.xml b/tests/src/org/aspectj/systemtest/ajc150/ataspectj/syntax.xml index cf6c106b0..015d8c1dc 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ataspectj/syntax.xml +++ b/tests/src/org/aspectj/systemtest/ajc150/ataspectj/syntax.xml @@ -166,4 +166,11 @@ <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 |