--- /dev/null
+package main;
+
+import util.DerivedCommonDataInterfaceImpl;
+
+
+/**
+* NOTE: for iajc failure to occur this class has to be
+* 1st - parametrized
+* 2nd - abstract
+* whether or not its subclasses specifie the type parameter does not matter
+*/
+public abstract class AbstractBaseClass <T extends Whatever> implements DerivedCommonDataInterfaceImpl {}
--- /dev/null
+package main;
+
+public class DerivedClass extends AbstractBaseClass {}
--- /dev/null
+package main;
+
+public class Whatever {
+
+}
--- /dev/null
+package util;
+
+public interface CommonData {
+ void getData();
+}
--- /dev/null
+package util;
+
+
+public interface CommonDataImpl extends CommonData {
+
+}
--- /dev/null
+package util;
+
+public aspect CommonDataImplementation {
+ public void CommonDataImpl.getData() {
+ }
+}
--- /dev/null
+package util;
+
+
+public interface DerivedCommonDataInterface extends CommonData {
+ void getDerivedData();
+}
--- /dev/null
+package util;
+
+
+public interface DerivedCommonDataInterfaceImpl extends DerivedCommonDataInterface, CommonDataImpl {}
--- /dev/null
+package util;
+
+public aspect DerivedCommonDataInterfaceImplementation {
+ public void DerivedCommonDataInterfaceImpl.getDerivedData() {}
+}
<suite>
+<ajc-test dir="bugs1612/pr354683" title="itd split compilation">
+<compile files="util/CommonData.java util/CommonDataImpl.java util/CommonDataImplementation.aj util/DerivedCommonDataInterface.java util/DerivedCommonDataInterfaceImpl.java util/DerivedCommonDataInterfaceImplementation.aj" options="-1.5" outjar="code.jar"/>
+<compile files="main/AbstractBaseClass.java main/DerivedClass.java main/Whatever.java " options="-1.5 -showWeaveInfo" aspectpath="code.jar"/>
+</ajc-test>
+
<ajc-test dir="bugs1612/pr239649" title="thisAspectInstance - 1">
<compile files="One.java" options="-1.5"/>
<run class="One">