public class GenericClass<Type extends Object> { | |||||
} | |||||
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() { | |||||
} | |||||
} | |||||
public class SomeClass { | |||||
GenericGenericMemberClass member; | |||||
public void someMethod() { | |||||
// commenting the following line will remove compilation errors (and mask the problem) | |||||
member.test(); | |||||
} | |||||
} | |||||
import org.aspectj.lang.annotation.*; | |||||
@SuppressAjWarnings | |||||
public aspect UnrelatedAspect { | |||||
before(): call(void UnrelatedClas*.unrelatedMethod()) { | |||||
} | |||||
} |
import junit.framework.Test; | import junit.framework.Test; | ||||
import org.aspectj.apache.bcel.classfile.JavaClass; | |||||
import org.aspectj.apache.bcel.classfile.LocalVariable; | import org.aspectj.apache.bcel.classfile.LocalVariable; | ||||
import org.aspectj.apache.bcel.classfile.LocalVariableTable; | import org.aspectj.apache.bcel.classfile.LocalVariableTable; | ||||
import org.aspectj.apache.bcel.classfile.Method; | |||||
import org.aspectj.asm.AsmManager; | import org.aspectj.asm.AsmManager; | ||||
import org.aspectj.asm.IRelationshipMap; | import org.aspectj.asm.IRelationshipMap; | ||||
import org.aspectj.testing.Utils; | |||||
import org.aspectj.testing.XMLBasedAjcTestCase; | import org.aspectj.testing.XMLBasedAjcTestCase; | ||||
import org.aspectj.tools.ajc.Ajc; | |||||
public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase { | public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase { | ||||
// AspectJ1.6.1 | // AspectJ1.6.1 | ||||
public void testSignatureProcessing_pr237447() { runTest("signature processing"); } | |||||
public void testGenericAtAround_pr237419() { runTest("generics ataround"); } | public void testGenericAtAround_pr237419() { runTest("generics ataround"); } | ||||
public void testGenericMarkerMatch_pr203367() { runTest("generic marker match"); } | public void testGenericMarkerMatch_pr203367() { runTest("generic marker match"); } | ||||
// public void testSuperItds_pr134425() { runTest("super itds"); } | // public void testSuperItds_pr134425() { runTest("super itds"); } |
<!-- AspectJ v1.6.1 Tests --> | <!-- AspectJ v1.6.1 Tests --> | ||||
<suite> | <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"> | <ajc-test dir="bugs161/pr173978" title="lv table for around"> | ||||
<compile files="TestAroundAspect.java Test.java" options="-1.5"/> | <compile files="TestAroundAspect.java Test.java" options="-1.5"/> | ||||
</ajc-test> | </ajc-test> |