mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-16 15:53:55 +00:00
This change is to fill the gap between Kotlin Collection classes(immutable) and Java Collection classes(mutable), to avoid calling an unsupported operation like remove() on an immutable class in jvm.
18 lines
524 B
Kotlin
Vendored
18 lines
524 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
|
|
class MyMapEntry<K, V>: Map.Entry<K, V> {
|
|
override fun hashCode(): Int = 0
|
|
override fun equals(other: Any?): Boolean = false
|
|
override val key: K get() = throw UnsupportedOperationException()
|
|
override val value: V get() = throw UnsupportedOperationException()
|
|
}
|
|
|
|
fun box(): String {
|
|
try {
|
|
(MyMapEntry<String, Int>() as java.util.Map.Entry<String, Int>).setValue(1)
|
|
throw AssertionError()
|
|
} catch (e: UnsupportedOperationException) {
|
|
return "OK"
|
|
}
|
|
}
|