JVM_IR fix 'remove' in inline class implementing MutableCollection

This commit is contained in:
Dmitry Petrov
2020-10-15 16:43:48 +03:00
parent 95edcea9a9
commit ee5edf4caa
31 changed files with 738 additions and 25 deletions
@@ -1,11 +1,6 @@
// Ensure the proper collection stubs are added, in
// particular *not* when specialized implementations are provided.
// IGNORE_BACKEND: JVM_IR
// TODO KT-42067 JVM_IR generates extra bridges:
// public bridge final method entrySet(): MyMap$MySet
// public bridge final method keySet(): MyMap$MySet
// public bridge final method values(): java.util.ArrayList
class MyMap<K, V> : Map<K, V> {
class MySet<E> : Set<E> {
@@ -0,0 +1,46 @@
@kotlin.Metadata
public final class MyMap$MySet {
// source: 'noStubsForMapImplementations.kt'
public method <init>(): void
public method add(p0: java.lang.Object): boolean
public method addAll(p0: java.util.Collection): boolean
public method clear(): void
public method contains(p0: java.lang.Object): boolean
public method containsAll(@org.jetbrains.annotations.NotNull p0: java.util.Collection): boolean
public method getSize(): int
public method isEmpty(): boolean
public @org.jetbrains.annotations.NotNull method iterator(): java.util.Iterator
public method remove(p0: java.lang.Object): boolean
public method removeAll(p0: java.util.Collection): boolean
public method retainAll(p0: java.util.Collection): boolean
public bridge final method size(): int
public method toArray(): java.lang.Object[]
public method toArray(p0: java.lang.Object[]): java.lang.Object[]
public final inner class MyMap$MySet
}
@kotlin.Metadata
public final class MyMap {
// source: 'noStubsForMapImplementations.kt'
public method <init>(): void
public method clear(): void
public method containsKey(p0: java.lang.Object): boolean
public method containsValue(p0: java.lang.Object): boolean
public bridge final method entrySet(): MyMap$MySet
public synthetic bridge method entrySet(): java.util.Set
public method get(p0: java.lang.Object): java.lang.Object
public @org.jetbrains.annotations.NotNull method getEntries(): MyMap$MySet
public @org.jetbrains.annotations.NotNull method getKeys(): MyMap$MySet
public method getSize(): int
public @org.jetbrains.annotations.NotNull method getValues(): java.util.ArrayList
public method isEmpty(): boolean
public bridge final method keySet(): MyMap$MySet
public synthetic bridge method keySet(): java.util.Set
public method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public method putAll(p0: java.util.Map): void
public method remove(p0: java.lang.Object): java.lang.Object
public bridge final method size(): int
public bridge final method values(): java.util.ArrayList
public synthetic bridge method values(): java.util.Collection
public final inner class MyMap$MySet
}