Sfoglia il codice sorgente

#114875 cannot reproduce NPE in @AJ abstract aspect

tags/V1_5_0RC1
avasseur 18 anni fa
parent
commit
e9e0a7be5b

+ 31
- 0
tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEChild.java Vedi File

@@ -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(){

}
}

+ 28
- 0
tests/java5/ataspectj/ataspectj/bugs/AbstractAspectNPEParent.java Vedi File

@@ -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[]){
}
}

+ 6
- 1
tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjSyntaxTests.java Vedi File

@@ -128,4 +128,9 @@ public class AtAjSyntaxTests extends XMLBasedAjcTestCase {
public void testDeclareParentsImplements() {
runTest("DeclareParentsImplements");
}
}

public void testAbstractAspectNPE() {
runTest("AbstractAspectNPE");
}

}

+ 7
- 0
tests/src/org/aspectj/systemtest/ajc150/ataspectj/syntax.xml Vedi File

@@ -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>

Loading…
Annulla
Salva