Files
kotlin-fork/compiler/testData/diagnostics/tests/targetedBuiltIns/mutableMapRemove.kt
T
Denis.Zharkov 2ecba6ac39 Remove WITH_NEW_INFERENCE directive from all tests
This directive anyway does not make test run twice with OI, and with NI
It only once run the test with specific settings (// LANGUAGE)
and ignores irrelevant (OI or NI tags)
2021-05-25 13:28:26 +03:00

31 lines
975 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER -PARAMETER_NAME_CHANGED_ON_OVERRIDE
// FULL_JDK
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
}
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
}
fun foo(x: MutableMap<String, Int>, y: java.util.HashMap<String, Int>, z: java.util.AbstractMap<String, Int>) {
x.remove("", 1)
x.remove("", <!TYPE_MISMATCH!>""<!>)
x.remove("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
y.remove("", 1)
y.remove("", <!TYPE_MISMATCH!>""<!>)
y.remove("", <!NULL_FOR_NONNULL_TYPE!>null<!>)
z.remove("", 1)
z.remove("", <!TYPE_MISMATCH!>""<!>)
z.remove("", null)
}