Remove inheritance between LinkedHashSet/Map and HashSet/Map

This commit is contained in:
Ilya Gorbunov
2017-12-27 18:21:24 +03:00
parent c5c6eed170
commit 824b506abe
4 changed files with 35 additions and 4 deletions
@@ -16,7 +16,7 @@
package kotlin.collections
open expect class HashMap<K, V> : MutableMap<K, V> {
expect class HashMap<K, V> : MutableMap<K, V> {
constructor()
constructor(initialCapacity: Int)
constructor(initialCapacity: Int, loadFactor: Float)
@@ -16,7 +16,7 @@
package kotlin.collections
open expect class HashSet<E> : MutableSet<E> {
expect class HashSet<E> : MutableSet<E> {
constructor()
constructor(initialCapacity: Int)
constructor(initialCapacity: Int, loadFactor: Float)
@@ -16,9 +16,25 @@
package kotlin.collections
open expect class LinkedHashMap<K, V> : HashMap<K, V> {
expect class LinkedHashMap<K, V> : MutableMap<K, V> {
constructor()
constructor(initialCapacity: Int)
constructor(initialCapacity: Int, loadFactor: Float)
constructor(original: Map<out K, V>)
// From Map
override val size: Int
override fun isEmpty(): Boolean
override fun containsKey(key: K): Boolean
override fun containsValue(value: V): Boolean
override fun get(key: K): V?
// From MutableMap
override fun put(key: K, value: V): V?
override fun remove(key: K): V?
override fun putAll(from: Map<out K, V>)
override fun clear()
override val keys: MutableSet<K>
override val values: MutableCollection<V>
override val entries: MutableSet<MutableMap.MutableEntry<K, V>>
}
@@ -16,9 +16,24 @@
package kotlin.collections
open expect class LinkedHashSet<E> : HashSet<E> {
expect class LinkedHashSet<E> : MutableSet<E> {
constructor()
constructor(initialCapacity: Int)
constructor(initialCapacity: Int, loadFactor: Float)
constructor(elements: Collection<E>)
// From Set
override val size: Int
override fun isEmpty(): Boolean
override fun contains(element: @UnsafeVariance E): Boolean
override fun containsAll(elements: Collection<@UnsafeVariance E>): Boolean
// From MutableSet
override fun iterator(): MutableIterator<E>
override fun add(element: E): Boolean
override fun remove(element: E): Boolean
override fun addAll(elements: Collection<E>): Boolean
override fun removeAll(elements: Collection<E>): Boolean
override fun retainAll(elements: Collection<E>): Boolean
override fun clear()
}