summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravasseur <avasseur>2005-11-07 10:50:55 +0000
committeravasseur <avasseur>2005-11-07 10:50:55 +0000
commite9e0a7be5be07919d74f7da12fa59232a8b81a1e (patch)
tree5688342cf2c646ba04cbc84dca75e898e88e77d9
parente2db71535154c6564fb30bebf2f51fc321a94f7c (diff)
downloadaspectj-e9e0a7be5be07919d74f7da12fa59232a8b81a1e.tar.gz
aspectj-e9e0a7be5be07919d74f7da12fa59232a8b81a1e.zip
#114875 cannot reproduce NPE in @AJ abstract aspect
-rw-r--r--tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEChild.java31
-rw-r--r--tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEParent.java28
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjSyntaxTests.java7
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ataspectj/syntax.xml7
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