]> source.dussan.org Git - aspectj.git/commitdiff
test and fix for 168044 - processing complex self referential generic declarations
authoraclement <aclement>
Thu, 11 Jan 2007 10:32:41 +0000 (10:32 +0000)
committeraclement <aclement>
Thu, 11 Jan 2007 10:32:41 +0000 (10:32 +0000)
tests/bugs160/pr168044/AbstractNode.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java
tests/src/org/aspectj/systemtest/ajc160/ajc160.xml

diff --git a/tests/bugs160/pr168044/AbstractNode.java b/tests/bugs160/pr168044/AbstractNode.java
new file mode 100644 (file)
index 0000000..bb1401f
--- /dev/null
@@ -0,0 +1,19 @@
+public abstract class AbstractNode < SelfNode extends AbstractNode<SelfNode, DualNode>, DualNode extends AbstractNode<DualNode, SelfNode> > {
+}
+
+class SubClass extends AbstractNode<A,B> {
+}
+
+class A extends AbstractNode<A,B> { }
+class B extends AbstractNode<B,A> { }
+
+abstract class Mad
+<
+   Id       extends Comparable<Id>,
+   Np       extends Mad<Id, Np, Nt, Np, Nt>,
+   Nt       extends Mad<Id, Np, Nt, Nt, Np>,
+   SelfNode extends Mad<Id, Np, Nt, SelfNode, DualNode>,
+   DualNode extends Mad<Id, Np, Nt, DualNode, SelfNode>
+>
+{
+}
index 980b1e60117699d1dd9d38a4ac76a3548617331a..a452fe4c45567ef7d5572c825d5b3ec0884effa5 100644 (file)
@@ -21,6 +21,7 @@ import junit.framework.Test;
  */
 public class Ajc160Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
        
+  public void testComplexGenerics_pr168044() { runTest("complex generics - 1");}
   public void testIncorrectlyMarkingFieldTransient_pr168063() { runTest("incorrectly marking field transient");}
   public void testInheritedAnnotations_pr169706() { runTest("inherited annotations");}
   public void testGenericFieldNPE_pr165885() { runTest("generic field npe");}
index fcb85ea0ecd57c0e32b068acca8d8140e85b57ab..23816e58ee51b489fcb884ea3720441417dbee2e 100644 (file)
          </compile>
     </ajc-test>
     
+    <ajc-test dir="bugs160/pr168044" title="complex generics - 1">
+      <compile files="AbstractNode.java" options="-1.5">
+         </compile>
+    </ajc-test>
+    
     <ajc-test dir="bugs160/pr168063" title="incorrectly marking field transient">
       <compile files="A.java"/>
       <run class="A">