Browse Source

237447: test and fix: nested parameterization

tags/V1_6_1rc1
aclement 16 years ago
parent
commit
5c4b5d1fec

+ 3
- 0
tests/bugs161/pr237447/GenericClass.java View File

public class GenericClass<Type extends Object> {
}


+ 16
- 0
tests/bugs161/pr237447/GenericGenericMemberClass.java View File

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


+ 9
- 0
tests/bugs161/pr237447/SomeClass.java View File

public class SomeClass {
GenericGenericMemberClass member;

public void someMethod() {
// commenting the following line will remove compilation errors (and mask the problem)
member.test();
}
}


+ 7
- 0
tests/bugs161/pr237447/UnrelatedAspect.java View File

import org.aspectj.lang.annotation.*;

@SuppressAjWarnings
public aspect UnrelatedAspect {
before(): call(void UnrelatedClas*.unrelatedMethod()) {
}
}

+ 1
- 4
tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java View File



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"); }

+ 5
- 0
tests/src/org/aspectj/systemtest/ajc161/ajc161.xml View File

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

Loading…
Cancel
Save