Have mutable collection interfaces specified explicitly to get rid of platform types in parameter and return types.
This commit is contained in:
@@ -4,6 +4,6 @@ package kotlin.collections
|
||||
import java.util.AbstractCollection
|
||||
|
||||
@SinceKotlin("1.1")
|
||||
public abstract class AbstractMutableCollection<E> protected constructor() : AbstractCollection<E>() {
|
||||
public abstract class AbstractMutableCollection<E> protected constructor() : MutableCollection<E>, AbstractCollection<E>() {
|
||||
abstract override fun add(element: E): Boolean
|
||||
}
|
||||
@@ -4,7 +4,7 @@ package kotlin.collections
|
||||
import java.util.AbstractList
|
||||
|
||||
@SinceKotlin("1.1")
|
||||
public abstract class AbstractMutableList<E> protected constructor() : AbstractList<E>() {
|
||||
public abstract class AbstractMutableList<E> protected constructor() : MutableList<E>, AbstractList<E>() {
|
||||
abstract override fun set(index: Int, element: E): E
|
||||
abstract override fun removeAt(index: Int): E
|
||||
abstract override fun add(index: Int, element: E)
|
||||
|
||||
@@ -4,6 +4,6 @@ package kotlin.collections
|
||||
import java.util.AbstractMap
|
||||
|
||||
@SinceKotlin("1.1")
|
||||
public abstract class AbstractMutableMap<K, V> protected constructor() : AbstractMap<K, V>() {
|
||||
public abstract class AbstractMutableMap<K, V> protected constructor() : MutableMap<K, V>, AbstractMap<K, V>() {
|
||||
abstract override fun put(key: K, value: V): V?
|
||||
}
|
||||
@@ -4,6 +4,7 @@ package kotlin.collections
|
||||
import java.util.AbstractSet
|
||||
|
||||
@SinceKotlin("1.1")
|
||||
public abstract class AbstractMutableSet<E> protected constructor() : AbstractSet<E>() {
|
||||
// nothing to make abstract, maybe leave it typealias then?
|
||||
public abstract class AbstractMutableSet<E> protected constructor() : MutableSet<E>, AbstractSet<E>() {
|
||||
// nothing to make abstract
|
||||
// it's a class rather than typealias in order to have bridge for `size` generated and nice non-platform types in methods
|
||||
}
|
||||
+4
-4
@@ -138,14 +138,14 @@ public abstract class kotlin/collections/AbstractMap : java/util/Map, kotlin/jvm
|
||||
public final fun values ()Ljava/util/Collection;
|
||||
}
|
||||
|
||||
public abstract class kotlin/collections/AbstractMutableCollection : java/util/AbstractCollection {
|
||||
public abstract class kotlin/collections/AbstractMutableCollection : java/util/AbstractCollection, java/util/Collection, kotlin/jvm/internal/markers/KMutableCollection {
|
||||
protected fun <init> ()V
|
||||
public abstract fun add (Ljava/lang/Object;)Z
|
||||
public abstract fun getSize ()I
|
||||
public final fun size ()I
|
||||
}
|
||||
|
||||
public abstract class kotlin/collections/AbstractMutableList : java/util/AbstractList {
|
||||
public abstract class kotlin/collections/AbstractMutableList : java/util/AbstractList, java/util/List, kotlin/jvm/internal/markers/KMutableList {
|
||||
protected fun <init> ()V
|
||||
public abstract fun add (ILjava/lang/Object;)V
|
||||
public abstract fun getSize ()I
|
||||
@@ -155,7 +155,7 @@ public abstract class kotlin/collections/AbstractMutableList : java/util/Abstrac
|
||||
public final fun size ()I
|
||||
}
|
||||
|
||||
public abstract class kotlin/collections/AbstractMutableMap : java/util/AbstractMap {
|
||||
public abstract class kotlin/collections/AbstractMutableMap : java/util/AbstractMap, java/util/Map, kotlin/jvm/internal/markers/KMutableMap {
|
||||
protected fun <init> ()V
|
||||
public final fun entrySet ()Ljava/util/Set;
|
||||
public abstract fun getEntries ()Ljava/util/Set;
|
||||
@@ -168,7 +168,7 @@ public abstract class kotlin/collections/AbstractMutableMap : java/util/Abstract
|
||||
public final fun values ()Ljava/util/Collection;
|
||||
}
|
||||
|
||||
public abstract class kotlin/collections/AbstractMutableSet : java/util/AbstractSet {
|
||||
public abstract class kotlin/collections/AbstractMutableSet : java/util/AbstractSet, java/util/Set, kotlin/jvm/internal/markers/KMutableSet {
|
||||
protected fun <init> ()V
|
||||
public abstract fun getSize ()I
|
||||
public final fun size ()I
|
||||
|
||||
Reference in New Issue
Block a user