public class EtendingReadOnlyInterfaces { public static class Lists { public static class ExtendIList1 implements IList { } public static class ExtendIList2 implements IList { } public static class ExtendCList1 extends CList { } public static class ExtendCList2 extends CList { } public static class ExtendSList extends SList { } public static class ExtendAList extends AList { } } public static class Collections { public static class ExtendICollection1 implements ICollection { } public static class ExtendICollection2 implements ICollection { } public static class ExtendCCollection1 extends CCollection { } public static class ExtendCCollection2 extends CCollection { } public static class ExtendSCollection extends SCollection { } public static class ExtendACollection extends ACollection { } } public static class Sets { public static class ExtendISet1 implements ISet { } public static class ExtendISet2 implements ISet { } public static class ExtendCSet1 extends CSet { } public static class ExtendCSet2 extends CSet { } public static class ExtendSSet extends SSet { } public static class ExtendASet extends ASet { } } public static class Iterables { public static class ExtendIIterable1 implements IIterable { } public static class ExtendIIterable2 implements IIterable { } public static class ExtendCIterable1 extends CIterable { } public static class ExtendCIterable2 extends CIterable { } public static class ExtendSIterable extends SIterable { } public static class ExtendAIterable extends AIterable { } } public static class Iterators { public static class ExtendIIterator1 implements IIterator { } public static class ExtendIIterator2 implements IIterator { } public static class ExtendCIterator1 extends CIterator { } public static class ExtendCIterator2 extends CIterator { } public static class ExtendSIterator extends SIterator { } public static class ExtendAIterator extends AIterator { } } public static class Maps { public static class ExtendIMap1 implements IMap { } public static class ExtendIMap2 implements IMap { } public static class ExtendCMap1 extends CMap { } public static class ExtendCMap2 extends CMap { } // NOTE: looks like a bug in compiler see KT-17738 //public static class ExtendSMap extends SMap { // //} // //public static class ExtendABMap extends ABMap { // //} } public static class MapEntrys { public static class ExtendIMapEntry1 implements IMapEntry { } public static class ExtendIMapEntry2 implements IMapEntry { } public static class ExtendCMapEntry1 extends CMapEntry { } public static class ExtendCMapEntry2 extends CMapEntry { } public static class ExtendSMapEntry extends SMapEntry { } public static class ExtendAMapEntry extends ABMapEntry { } } }