@@ -0,0 +1,3 @@ | |||
public class GenericClass<Type extends Object> { | |||
} | |||
@@ -0,0 +1,16 @@ | |||
public class GenericGenericMemberClass { | |||
// this line never causes a problem | |||
GenericClass<Double> [] genericMemberArray; | |||
// this line causes compilation errors to be introduced | |||
GenericClass< GenericClass<Double> >[] genericGenericMemberArray; | |||
// uncommenting the following lines removes the compilation errors (very unexpectedly, for me at least) | |||
// @SuppressWarnings("unused") | |||
// private static final GenericClass< GenericClass<Double> > genericGenericMember = null; | |||
public void test() { | |||
} | |||
} | |||
@@ -0,0 +1,9 @@ | |||
public class SomeClass { | |||
GenericGenericMemberClass member; | |||
public void someMethod() { | |||
// commenting the following line will remove compilation errors (and mask the problem) | |||
member.test(); | |||
} | |||
} | |||
@@ -0,0 +1,7 @@ | |||
import org.aspectj.lang.annotation.*; | |||
@SuppressAjWarnings | |||
public aspect UnrelatedAspect { | |||
before(): call(void UnrelatedClas*.unrelatedMethod()) { | |||
} | |||
} |
@@ -16,19 +16,16 @@ import java.util.Set; | |||
import junit.framework.Test; | |||
import org.aspectj.apache.bcel.classfile.JavaClass; | |||
import org.aspectj.apache.bcel.classfile.LocalVariable; | |||
import org.aspectj.apache.bcel.classfile.LocalVariableTable; | |||
import org.aspectj.apache.bcel.classfile.Method; | |||
import org.aspectj.asm.AsmManager; | |||
import org.aspectj.asm.IRelationshipMap; | |||
import org.aspectj.testing.Utils; | |||
import org.aspectj.testing.XMLBasedAjcTestCase; | |||
import org.aspectj.tools.ajc.Ajc; | |||
public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase { | |||
// AspectJ1.6.1 | |||
public void testSignatureProcessing_pr237447() { runTest("signature processing"); } | |||
public void testGenericAtAround_pr237419() { runTest("generics ataround"); } | |||
public void testGenericMarkerMatch_pr203367() { runTest("generic marker match"); } | |||
// public void testSuperItds_pr134425() { runTest("super itds"); } |
@@ -3,6 +3,11 @@ | |||
<!-- AspectJ v1.6.1 Tests --> | |||
<suite> | |||
<ajc-test dir="bugs161/pr237447" title="signature processing"> | |||
<compile files="GenericClass.java SomeClass.java GenericGenericMemberClass.java UnrelatedAspect.java" options="-1.5"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs161/pr173978" title="lv table for around"> | |||
<compile files="TestAroundAspect.java Test.java" options="-1.5"/> | |||
</ajc-test> |