--- /dev/null
+package b;
+
+import java.util.Collection;
+
+
+public interface Bar {
+
+ public Collection<Foo> getFoos();
+}
\ No newline at end of file
--- /dev/null
+package a;
+
+import b.Bar;
+import b.Foo;
+
+public aspect BarAspect {
+
+ declare parents : Foo implements Bar;
+}
\ No newline at end of file
--- /dev/null
+package b;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class Foo {
+
+ public Collection<Foo> getFoos() {
+ return new ArrayList<Foo>() {{ add(new Foo()); }};
+ }
+}
\ No newline at end of file
--- /dev/null
+package c;
+
+import b.Bar;
+import b.Foo;
+
+public class Main {
+
+ public static void main(String [] args) {
+ Foo foo = new Foo();
+ System.out.println(foo instanceof Bar);
+ }
+}
\ No newline at end of file
import junit.framework.TestSuite;
import org.aspectj.systemtest.ajc160.AllTestsAspectJ160;
+import org.aspectj.systemtest.ajc161.AllTestsAspectJ161;
public class AllTests16 {
TestSuite suite = new TestSuite("AspectJ System Test Suite - JDK 1.6");
//$JUnit-BEGIN$
suite.addTest(AllTestsAspectJ160.suite()); // dont require a 1.6 JRE to run but checks 1.6 compiler behaviour
+ suite.addTest(AllTestsAspectJ161.suite()); // dont require a 1.6 JRE to run but checks 1.6 compiler behaviour
suite.addTest(AllTests15.suite());
//$JUnit-END$
return suite;
public class Ajc160Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// AspectJ1.6.0rc1
+ // public void testPipelineCompilationGenericReturnType_pr226567() {
+ // runTest("pipeline compilation and generic return type");
+ //}
public void testPipelineCompilationAnonymous_pr225916() {
runTest("pipeline compilation and anonymous type");
}
<!-- AspectJ v1.6.0 Tests -->
<suite>
+ <ajc-test dir="bugs160/pr226567" title="pipeline compilation and generic return type">
+ <compile files="BarAspect.aj Foo.java Bar.java" options="-1.5"/>
+ <compile files="BarAspect.aj Bar.java Foo.java" options="-1.5"/>
+ </ajc-test>
<ajc-test dir="bugs160/pr225916" title="pipeline compilation and anonymous type">
<compile files="Test.java TestMBean.java TestAspect.java" options="-showWeaveInfo">
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2008 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://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Andy Clement - initial API and implementation
+ *******************************************************************************/
+package org.aspectj.systemtest.ajc161;
+
+import java.io.File;
+
+import junit.framework.Test;
+
+import org.aspectj.testing.XMLBasedAjcTestCase;
+
+public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+
+ // AspectJ1.6.0rc1
+ public void testPipelineCompilationGenericReturnType_pr226567() { runTest("pipeline compilation and generic return type"); }
+
+ public static Test suite() {
+ return XMLBasedAjcTestCase.loadSuite(Ajc161Tests.class);
+ }
+
+ protected File getSpecFile() {
+ return new File("../tests/src/org/aspectj/systemtest/ajc161/ajc161.xml");
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/*******************************************************************************
+ * Copyright (c) 2008 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://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Andy Clement - initial API and implementation
+ *******************************************************************************/
+package org.aspectj.systemtest.ajc161;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class AllTestsAspectJ161 {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite("AspectJ 1.6.1 tests");
+ //$JUnit-BEGIN$
+ suite.addTest(Ajc161Tests.suite());
+ //$JUnit-END$
+ return suite;
+ }
+}
--- /dev/null
+<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
+
+<!-- AspectJ v1.6.1 Tests -->
+<suite>
+
+ <ajc-test dir="bugs161/pr226567" title="pipeline compilation and generic return type">
+ <compile files="BarAspect.aj Foo.java Bar.java" options="-1.5"/>
+ <compile files="BarAspect.aj Bar.java Foo.java" options="-1.5"/>
+ </ajc-test>
+
+</suite>
\ No newline at end of file