| // RUN_PIPELINE_TILL: BACKEND |
| // FULL_JDK |
| import java.util.* |
| import java.util.function.BiConsumer |
| |
| private val DEBUG = true |
| |
| abstract class SomeHashTable<K : Any, V : Any> : AbstractMutableMap<K, V>() { |
| override fun forEach(action: BiConsumer<in K, in V>) {} |
| |
| override val entries: MutableSet<MutableMap.MutableEntry<K, V>> |
| get() { |
| if (DEBUG) { |
| return Collections.unmodifiableSet( |
| mutableSetOf<MutableMap.MutableEntry<K, V>>().apply { |
| forEach { key, value -> add(Entry(key, value)) } |
| } |
| ) |
| } |
| throw UnsupportedOperationException() |
| } |
| |
| private class Entry<K, V>(override val key: K, override val value: V) : MutableMap.MutableEntry<K, V> { |
| override fun setValue(newValue: V): V = throw UnsupportedOperationException() |
| } |
| } |
| |
| /* GENERATED_FIR_TAGS: classDeclaration, flexibleType, functionDeclaration, getter, ifExpression, inProjection, |
| javaFunction, lambdaLiteral, nestedClass, nullableType, override, primaryConstructor, propertyDeclaration, samConversion, |
| typeConstraint, typeParameter */ |