public class EtendingMutableInterfaces {
public static class Lists {
public static class ExtendIList1 implements IMutableList {
}
public static class ExtendIList2 implements IMutableList {
}
// Compiler bug causes remove(int) to clash https://youtrack.jetbrains.com/issue/KT-17782
//public static class ExtendCList1 extends CMutableList {
//
//}
//
//public static class ExtendCList2 extends CMutableList {
//
//}
public static class ExtendSList extends SMutableList {
}
public static class ExtendAList extends AMutableList {
}
}
public static class Collections {
public static class ExtendICollection1 implements IMutableCollection {
}
public static class ExtendICollection2 implements IMutableCollection {
}
public static class ExtendCCollection1 extends CMutableCollection {
}
public static class ExtendCCollection2 extends CMutableCollection {
}
public static class ExtendSCollection extends SMutableCollection {
}
public static class ExtendACollection extends AMutableCollection {
}
}
public static class Sets {
public static class ExtendISet1 implements IMutableSet {
}
public static class ExtendISet2 implements IMutableSet {
}
public static class ExtendCSet1 extends CMutableSet {
}
public static class ExtendCSet2 extends CMutableSet {
}
public static class ExtendSSet extends SMutableSet {
}
public static class ExtendASet extends AMutableSet {
}
}
public static class Iterables {
public static class ExtendIIterable1 implements IMutableIterable {
}
public static class ExtendIIterable2 implements IMutableIterable {
}
public static class ExtendCIterable1 extends CMutableIterable {
}
public static class ExtendCIterable2 extends CMutableIterable {
}
public static class ExtendSIterable extends SMutableIterable {
}
public static class ExtendAIterable extends AMutableIterable {
}
}
public static class Iterators {
public static class ExtendIIterator1 implements IMutableIterator {
}
public static class ExtendIIterator2 implements IMutableIterator {
}
public static class ExtendCIterator1 extends CMutableIterator {
}
public static class ExtendCIterator2 extends CMutableIterator {
}
public static class ExtendSIterator extends SMutableIterator {
}
public static class ExtendAIterator extends AMutableIterator {
}
}
public static class Maps {
public static class ExtendIMap1 implements IMutableMap {
}
public static class ExtendIMap2 implements IMutableMap {
}
public static class ExtendCMap1 extends CMutableMap {
}
public static class ExtendCMap2 extends CMutableMap {
}
// NOTE: looks like a bug in compiler see KT-17738
//public static class ExtendSMap extends SMutableMap {
//
//}
//
//public static class ExtendABMap extends ABMutableMap {
//
//}
}
public static class MapEntrys {
public static class ExtendIMapEntry1 implements IMutableMapEntry {
}
public static class ExtendIMapEntry2 implements IMutableMapEntry {
}
public static class ExtendCMapEntry1 extends CMutableMapEntry {
}
public static class ExtendCMapEntry2 extends CMutableMapEntry {
}
public static class ExtendSMapEntry extends SMutableMapEntry {
}
public static class ExtendAMapEntry extends ABMutableMapEntry {
}
}
}