2ad8488e6a
Previoisly, there were two places where mapping had happened: - toConeKotlinTypeWithNullability - enhancePossiblyFlexible The first one was used for supertypes and bounds and the second one was used for other signature parts The main idea is to perform type mapping once to a flexible type, and then use it as it's needed (it's lower bound, or for the further ehnancement) Also, this commit fixes flexibility for type arguments, see the tests
47 lines
2.6 KiB
Plaintext
Vendored
47 lines
2.6 KiB
Plaintext
Vendored
FILE: hashTableWithForEach.kt
|
|
private final val DEBUG: R|kotlin/Boolean| = Boolean(true)
|
|
private get(): R|kotlin/Boolean|
|
|
public abstract class SomeHashTable<K : R|kotlin/Any|, V : R|kotlin/Any|> : R|kotlin/collections/AbstractMutableMap<K, V>| {
|
|
public constructor<K : R|kotlin/Any|, V : R|kotlin/Any|>(): R|SomeHashTable<K, V>| {
|
|
super<R|kotlin/collections/AbstractMutableMap<K, V>|>()
|
|
}
|
|
|
|
public open override fun forEach(action: R|java/util/function/BiConsumer<in K, in V>|): R|kotlin/Unit| {
|
|
}
|
|
|
|
public open override val entries: R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|
|
|
public get(): R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>| {
|
|
when () {
|
|
R|/DEBUG| -> {
|
|
^ Q|java/util/Collections|.R|java/util/Collections.unmodifiableSet|<R|ft<kotlin/collections/MutableMap.MutableEntry<K, V>, kotlin/collections/MutableMap.MutableEntry<K, V>?>!|>(R|kotlin/collections/mutableSetOf|<R|kotlin/collections/MutableMap.MutableEntry<K, V>|>().R|kotlin/apply|<R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|>(<L> = apply@fun R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
|
this@R|/SomeHashTable|.R|FakeOverride</SomeHashTable.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|K|, value: R|V|): R|kotlin/Unit| {
|
|
^ this@R|special/anonymous|.R|FakeOverride<kotlin/collections/MutableSet.add: R|kotlin/Boolean|>|(R|/SomeHashTable.Entry.Entry|<R|K|, R|V|>(R|<local>/key|, R|<local>/value|))
|
|
}
|
|
)
|
|
}
|
|
))
|
|
}
|
|
}
|
|
|
|
throw R|java/lang/UnsupportedOperationException.UnsupportedOperationException|()
|
|
}
|
|
|
|
private final class Entry<K, V> : R|kotlin/collections/MutableMap.MutableEntry<K, V>| {
|
|
public constructor<K, V>(key: R|K|, value: R|V|): R|SomeHashTable.Entry<K, V>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
public final override val key: R|K| = R|<local>/key|
|
|
public get(): R|K|
|
|
|
|
public final override val value: R|V| = R|<local>/value|
|
|
public get(): R|V|
|
|
|
|
public final override fun setValue(newValue: R|V|): R|V| {
|
|
^setValue throw R|java/lang/UnsupportedOperationException.UnsupportedOperationException|()
|
|
}
|
|
|
|
}
|
|
|
|
}
|