// TARGET_BACKEND: JVM // JVM_ABI_K1_K2_DIFF: KT-57268 class MyMap: Map { override val size: Int get() = 0 override fun isEmpty(): Boolean = true override fun containsKey(key: K): Boolean = false override fun containsValue(value: V): Boolean = false override fun get(key: K): V? = null override val keys: Set get() = throw UnsupportedOperationException() override val values: Collection get() = throw UnsupportedOperationException() override val entries: Set> get() = throw UnsupportedOperationException() } fun expectUoe(block: () -> Unit) { try { block() throw AssertionError() } catch (e: UnsupportedOperationException) { } } fun box(): String { val myMap = MyMap() val map = myMap as java.util.Map expectUoe { map.put("", 1) } expectUoe { map.remove("") } expectUoe { map.putAll(myMap) } expectUoe { map.clear() } return "OK" }