From e9e0a7be5be07919d74f7da12fa59232a8b81a1e Mon Sep 17 00:00:00 2001 From: avasseur Date: Mon, 7 Nov 2005 10:50:55 +0000 Subject: #114875 cannot reproduce NPE in @AJ abstract aspect --- .../ataspectj/bugs/AbstractAspectNPEChild.java | 31 ++++++++++++++++++++++ .../ataspectj/bugs/AbstractAspectNPEParent.java | 28 +++++++++++++++++++ .../ajc150/ataspectj/AtAjSyntaxTests.java | 7 ++++- .../aspectj/systemtest/ajc150/ataspectj/syntax.xml | 7 +++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEChild.java create mode 100644 tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEParent.java 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 Alexandre Vasseur + */ +@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 Alexandre Vasseur + */ +@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 @@ + + + + + + \ No newline at end of file -- cgit v1.2.3