Add MutableMap.remove(K, V) as built-in declaration

Use PlatformDependent annotation to guarantee it's only be available for JDK8
Also adjust type-safe bridges and mutable collection stubs generation
This commit is contained in:
Denis Zharkov
2016-04-28 09:09:25 +03:00
parent 55c4f875c8
commit d259b91143
41 changed files with 875 additions and 77 deletions

View File

@@ -0,0 +1,25 @@
class KotlinMap1<K, V> : java.util.AbstractMap<K, V>() {
override val entries: MutableSet<MutableMap.MutableEntry<K, V>>
get() = throw UnsupportedOperationException()
override fun remove(x: K, y: V) = true
}
// method: KotlinMap1::remove
// jvm signature: (Ljava/lang/Object;Ljava/lang/Object;)Z
// generic signature: null
class KotlinMap2 : java.util.AbstractMap<String, Int>() {
override val entries: MutableSet<MutableMap.MutableEntry<String, Int>>
get() = throw UnsupportedOperationException()
override fun remove(x: String, y: Int) = true
}
// method: KotlinMap2::remove
// jvm signature: (Ljava/lang/Object;Ljava/lang/Object;)Z
// generic signature: null
// method: KotlinMap2::remove
// jvm signature: (Ljava/lang/String;Ljava/lang/Integer;)Z
// generic signature: null