JVM_IR emulate JVM hack for generic signatures in KT-18189

KT-40307

See also KT-42609
This commit is contained in:
Dmitry Petrov
2020-10-12 17:58:19 +03:00
parent f20a695c0e
commit df64bb3eb7
16 changed files with 392 additions and 8 deletions
@@ -0,0 +1,21 @@
// WITH_SIGNATURES
// FILE: implementsJavaMap.kt
import java.util.*
abstract class JMapImpl<A, B> : JMap<A, B> {
override fun containsKey(key: A): Boolean = false
}
abstract class JMapNImpl<A : Number, B> : JMapN<A, B> {
override fun containsKey(key: A): Boolean = false
}
// FILE: JMap.java
import java.util.*;
public interface JMap<K, V> extends Map<K, V> {}
// FILE: JMapN.java
import java.util.*;
public interface JMapN<K extends Number, V> extends Map<K, V> {}
@@ -0,0 +1,38 @@
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Object;B:Ljava/lang/Object;>Ljava/lang/Object;LJMap<TA;TB;>;> JMapImpl {
// source: 'implementsJavaMap.kt'
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public <null> method <init>(): void
public <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method containsValue(p0: java.lang.Object): boolean
public abstract <null> method get(p0: java.lang.Object): java.lang.Object
public abstract <null> method getEntries(): java.util.Set
public abstract <null> method getKeys(): java.util.Set
public abstract <null> method getSize(): int
public abstract <null> method getValues(): java.util.Collection
public abstract <null> method remove(p0: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
}
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Number;B:Ljava/lang/Object;>Ljava/lang/Object;LJMapN<TA;TB;>;> JMapNImpl {
// source: 'implementsJavaMap.kt'
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public bridge final <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(TA;)Z> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.Number): boolean
public <null> method <init>(): void
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method containsValue(p0: java.lang.Object): boolean
public abstract <null> method get(p0: java.lang.Number): java.lang.Object
public abstract <null> method getEntries(): java.util.Set
public abstract <null> method getKeys(): java.util.Set
public abstract <null> method getSize(): int
public abstract <null> method getValues(): java.util.Collection
public abstract <null> method remove(p0: java.lang.Number): java.lang.Object
public bridge final <null> method size(): int
}
@@ -0,0 +1,34 @@
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Object;B:Ljava/lang/Object;>Ljava/lang/Object;LJMap<TA;TB;>;> JMapImpl {
// source: 'implementsJavaMap.kt'
public abstract <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public abstract <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method getEntries(): java.util.Set
public abstract <()Ljava/util/Set<TA;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public <null> method <init>(): void
public <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method getSize(): int
public bridge final <null> method size(): int
}
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Number;B:Ljava/lang/Object;>Ljava/lang/Object;LJMapN<TA;TB;>;> JMapNImpl {
// source: 'implementsJavaMap.kt'
public abstract <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public abstract <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method getEntries(): java.util.Set
public abstract <()Ljava/util/Set<TA;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public bridge final <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public abstract <(TA;)TB;> method get(p0: java.lang.Number): java.lang.Object
public abstract <(TA;)TB;> method remove(p0: java.lang.Number): java.lang.Object
public <(TA;)Z> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.Number): boolean
public <null> method <init>(): void
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method getSize(): int
public bridge final <null> method size(): int
}
@@ -0,0 +1,15 @@
// WITH_SIGNATURES
interface MapN<K : Number, V> : Map<K, V>
abstract class MapImpl<A, B> : Map<A, B> {
override fun containsKey(key: A): Boolean = false
}
abstract class MapSImpl<B> : Map<String, B> {
override fun containsKey(key: String): Boolean = false
}
abstract class MapNImpl<A : Number, B> : MapN<A, B> {
override fun containsKey(key: A): Boolean = false
}
@@ -0,0 +1,73 @@
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Object;B:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TA;TB;>;Lkotlin/jvm/internal/markers/KMappedMarker;> MapImpl {
// source: 'implementsMap.kt'
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+TA;+TB;>;)V> method putAll(p0: java.util.Map): void
public <(TA;TB;)TB;> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public <null> method <init>(): void
public <null> method clear(): void
public <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method containsValue(p0: java.lang.Object): boolean
public abstract <null> method get(p0: java.lang.Object): java.lang.Object
public abstract <null> method getEntries(): java.util.Set
public abstract <null> method getKeys(): java.util.Set
public abstract <null> method getSize(): int
public abstract <null> method getValues(): java.util.Collection
public bridge final <null> method size(): int
}
@kotlin.Metadata
public interface<<K:Ljava/lang/Number;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;Lkotlin/jvm/internal/markers/KMappedMarker;> MapN {
// source: 'implementsMap.kt'
}
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Number;B:Ljava/lang/Object;>Ljava/lang/Object;LMapN<TA;TB;>;> MapNImpl {
// source: 'implementsMap.kt'
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+TA;+TB;>;)V> method putAll(p0: java.util.Map): void
public <(TA;)Z> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.Number): boolean
public <(TA;TB;)TB;> method put(p0: java.lang.Number, p1: java.lang.Object): java.lang.Object
public <null> method <init>(): void
public <null> method clear(): void
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method containsValue(p0: java.lang.Object): boolean
public abstract <null> method get(p0: java.lang.Number): java.lang.Object
public abstract <null> method getEntries(): java.util.Set
public abstract <null> method getKeys(): java.util.Set
public abstract <null> method getSize(): int
public abstract <null> method getValues(): java.util.Collection
public synthetic <null> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
}
@kotlin.Metadata
public abstract class<<B:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;TB;>;Lkotlin/jvm/internal/markers/KMappedMarker;> MapSImpl {
// source: 'implementsMap.kt'
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/lang/String;>;> method keySet(): java.util.Set
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TB;>;>;> method entrySet(): java.util.Set
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/lang/String;TB;)TB;> method put(p0: java.lang.String, p1: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+Ljava/lang/String;+TB;>;)V> method putAll(p0: java.util.Map): void
public <null> method <init>(): void
public <null> method clear(): void
public <null> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.String): boolean
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method containsValue(p0: java.lang.Object): boolean
public abstract <null> method get(p0: java.lang.String): java.lang.Object
public abstract <null> method getEntries(): java.util.Set
public abstract <null> method getKeys(): java.util.Set
public abstract <null> method getSize(): int
public abstract <null> method getValues(): java.util.Collection
public synthetic <null> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
}
@@ -0,0 +1,69 @@
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Object;B:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TA;TB;>;Lkotlin/jvm/internal/markers/KMappedMarker;> MapImpl {
// source: 'implementsMap.kt'
public abstract <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public abstract <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method getEntries(): java.util.Set
public abstract <()Ljava/util/Set<TA;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+TA;+TB;>;)V> method putAll(p0: java.util.Map): void
public <(TA;TB;)TB;> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public <null> method <init>(): void
public <null> method clear(): void
public <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method getSize(): int
public bridge final <null> method size(): int
}
@kotlin.Metadata
public interface<<K:Ljava/lang/Number;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;Lkotlin/jvm/internal/markers/KMappedMarker;> MapN {
// source: 'implementsMap.kt'
}
@kotlin.Metadata
public abstract class<<A:Ljava/lang/Number;B:Ljava/lang/Object;>Ljava/lang/Object;LMapN<TA;TB;>;> MapNImpl {
// source: 'implementsMap.kt'
public abstract <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public abstract <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method getEntries(): java.util.Set
public abstract <()Ljava/util/Set<TA;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+TA;+TB;>;)V> method putAll(p0: java.util.Map): void
public abstract <(TA;)TB;> method get(p0: java.lang.Number): java.lang.Object
public <(TA;)Z> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.Number): boolean
public <(TA;TB;)TB;> method put(p0: java.lang.Number, p1: java.lang.Object): java.lang.Object
public <null> method <init>(): void
public <null> method clear(): void
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method getSize(): int
public synthetic bridge <null> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
}
@kotlin.Metadata
public abstract class<<B:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;TB;>;Lkotlin/jvm/internal/markers/KMappedMarker;> MapSImpl {
// source: 'implementsMap.kt'
public abstract <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public abstract <()Ljava/util/Set<Ljava/lang/String;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<Ljava/lang/String;>;> method keySet(): java.util.Set
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TB;>;>;> method entrySet(): java.util.Set
public abstract <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TB;>;>;> method getEntries(): java.util.Set
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public abstract <(Ljava/lang/String;)TB;> method get(p0: java.lang.String): java.lang.Object
public <(Ljava/lang/String;TB;)TB;> method put(p0: java.lang.String, p1: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+Ljava/lang/String;+TB;>;)V> method putAll(p0: java.util.Map): void
public <null> method <init>(): void
public <null> method clear(): void
public <null> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.String): boolean
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public abstract <null> method getSize(): int
public synthetic bridge <null> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
}
@@ -0,0 +1,25 @@
// WITH_RUNTIME
// WITH_SIGNATURES
import java.util.*
class SortedMapImpl<A : Comparable<A>, B>(private val map: SortedMap<A, B>) : SortedMap<A, B> {
override fun containsKey(key: A): Boolean = map.containsKey(key)
override fun containsValue(value: B): Boolean = map.containsValue(value)
override fun get(key: A): B? = map.get(key)
override fun isEmpty(): Boolean = map.isEmpty()
override fun clear() = map.clear()
override fun put(key: A, value: B): B? = map.put(key, value)
override fun putAll(from: Map<out A, B>) = map.putAll(from)
override fun remove(key: A): B? = map.remove(key)
override fun comparator(): Comparator<in A> = map.comparator()
override fun subMap(fromKey: A, toKey: A): SortedMap<A, B> = map.subMap(fromKey, toKey)
override fun headMap(toKey: A): SortedMap<A, B> = map.headMap(toKey)
override fun tailMap(fromKey: A): SortedMap<A, B> = map.tailMap(fromKey)
override fun firstKey(): A = map.firstKey()
override fun lastKey(): A = map.lastKey()
override val entries: MutableSet<MutableMap.MutableEntry<A, B>> get() = map.entries
override val keys: MutableSet<A> get() = map.keys
override val values: MutableCollection<B> get() = map.values
override val size: Int get() = map.size
}
@@ -0,0 +1,37 @@
@kotlin.Metadata
public final class<<A::Ljava/lang/Comparable<-TA;>;B:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/SortedMap<TA;TB;>;> SortedMapImpl {
// source: 'implementsSortedMap.kt'
public @org.jetbrains.annotations.NotNull <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public @org.jetbrains.annotations.NotNull <()Ljava/util/Comparator<-TA;>;> method comparator(): java.util.Comparator
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public @org.jetbrains.annotations.NotNull <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method getEntries(): java.util.Set
public @org.jetbrains.annotations.NotNull <()Ljava/util/Set<TA;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public @org.jetbrains.annotations.NotNull <()TA;> method firstKey(): java.lang.Comparable
public @org.jetbrains.annotations.NotNull <()TA;> method lastKey(): java.lang.Comparable
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public bridge final <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+TA;+TB;>;)V> method putAll(@org.jetbrains.annotations.NotNull p0: java.util.Map): void
public <(Ljava/util/SortedMap<TA;TB;>;)V> method <init>(@org.jetbrains.annotations.NotNull p0: java.util.SortedMap): void
public @org.jetbrains.annotations.NotNull <(TA;)Ljava/util/SortedMap<TA;TB;>;> method headMap(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.util.SortedMap
public @org.jetbrains.annotations.NotNull <(TA;)Ljava/util/SortedMap<TA;TB;>;> method tailMap(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.util.SortedMap
public @org.jetbrains.annotations.Nullable <(TA;)TB;> method get(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.lang.Object
public @org.jetbrains.annotations.Nullable <(TA;)TB;> method remove(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.lang.Object
public <(TA;)Z> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): boolean
public @org.jetbrains.annotations.NotNull <(TA;TA;)Ljava/util/SortedMap<TA;TB;>;> method subMap(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, @org.jetbrains.annotations.NotNull p1: java.lang.Comparable): java.util.SortedMap
public @org.jetbrains.annotations.Nullable <(TA;TB;)TB;> method put(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, p1: java.lang.Object): java.lang.Object
public <null> method clear(): void
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public <null> method containsValue(p0: java.lang.Object): boolean
public synthetic bridge <null> method firstKey(): java.lang.Object
public <null> method getSize(): int
public synthetic bridge <null> method headMap(p0: java.lang.Object): java.util.SortedMap
public <null> method isEmpty(): boolean
public synthetic bridge <null> method lastKey(): java.lang.Object
public synthetic bridge <null> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
public synthetic bridge <null> method subMap(p0: java.lang.Object, p1: java.lang.Object): java.util.SortedMap
public synthetic bridge <null> method tailMap(p0: java.lang.Object): java.util.SortedMap
private final field <Ljava/util/SortedMap<TA;TB;>;> map: java.util.SortedMap
}
@@ -0,0 +1,37 @@
@kotlin.Metadata
public final class<<A::Ljava/lang/Comparable<-TA;>;B:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/SortedMap<TA;TB;>;> SortedMapImpl {
// source: 'implementsSortedMap.kt'
public @org.jetbrains.annotations.NotNull <()Ljava/util/Collection<TB;>;> method getValues(): java.util.Collection
public bridge final <()Ljava/util/Collection<TB;>;> method values(): java.util.Collection
public @org.jetbrains.annotations.NotNull <()Ljava/util/Comparator<-TA;>;> method comparator(): java.util.Comparator
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method entrySet(): java.util.Set
public @org.jetbrains.annotations.NotNull <()Ljava/util/Set<Ljava/util/Map$Entry<TA;TB;>;>;> method getEntries(): java.util.Set
public @org.jetbrains.annotations.NotNull <()Ljava/util/Set<TA;>;> method getKeys(): java.util.Set
public bridge final <()Ljava/util/Set<TA;>;> method keySet(): java.util.Set
public @org.jetbrains.annotations.NotNull <()TA;> method firstKey(): java.lang.Comparable
public @org.jetbrains.annotations.NotNull <()TA;> method lastKey(): java.lang.Comparable
public bridge final <(Ljava/lang/Object;)TB;> method get(p0: java.lang.Object): java.lang.Object
public bridge final <(Ljava/lang/Object;)TB;> method remove(p0: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+TA;+TB;>;)V> method putAll(@org.jetbrains.annotations.NotNull p0: java.util.Map): void
public <(Ljava/util/SortedMap<TA;TB;>;)V> method <init>(@org.jetbrains.annotations.NotNull p0: java.util.SortedMap): void
public @org.jetbrains.annotations.NotNull <(TA;)Ljava/util/SortedMap<TA;TB;>;> method headMap(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.util.SortedMap
public @org.jetbrains.annotations.NotNull <(TA;)Ljava/util/SortedMap<TA;TB;>;> method tailMap(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.util.SortedMap
public @org.jetbrains.annotations.Nullable <(TA;)TB;> method get(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.lang.Object
public @org.jetbrains.annotations.Nullable <(TA;)TB;> method remove(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): java.lang.Object
public <(TA;)Z> method containsKey(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable): boolean
public @org.jetbrains.annotations.NotNull <(TA;TA;)Ljava/util/SortedMap<TA;TB;>;> method subMap(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, @org.jetbrains.annotations.NotNull p1: java.lang.Comparable): java.util.SortedMap
public @org.jetbrains.annotations.Nullable <(TA;TB;)TB;> method put(@org.jetbrains.annotations.NotNull p0: java.lang.Comparable, p1: java.lang.Object): java.lang.Object
public <null> method clear(): void
public bridge final <null> method containsKey(p0: java.lang.Object): boolean
public <null> method containsValue(p0: java.lang.Object): boolean
public synthetic bridge <null> method firstKey(): java.lang.Object
public <null> method getSize(): int
public synthetic bridge <null> method headMap(p0: java.lang.Object): java.util.SortedMap
public <null> method isEmpty(): boolean
public synthetic bridge <null> method lastKey(): java.lang.Object
public synthetic bridge <null> method put(p0: java.lang.Object, p1: java.lang.Object): java.lang.Object
public bridge final <null> method size(): int
public synthetic bridge <null> method subMap(p0: java.lang.Object, p1: java.lang.Object): java.util.SortedMap
public synthetic bridge <null> method tailMap(p0: java.lang.Object): java.util.SortedMap
private final @org.jetbrains.annotations.NotNull field <Ljava/util/SortedMap<TA;TB;>;> map: java.util.SortedMap
}
@@ -7,10 +7,10 @@ public abstract class<<V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<Lja
public bridge final <()Ljava/util/Set<Ljava/lang/String;>;> method keySet(): java.util.Set
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TV;>;>;> method entrySet(): java.util.Set
public @org.jetbrains.annotations.NotNull <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TV;>;>;> method getEntries(): java.util.Set
public @org.jetbrains.annotations.Nullable <(Ljava/lang/Object;)TV;> method get(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public bridge final <(Ljava/lang/Object;)TV;> method get(p0: java.lang.Object): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/Object;)TV;> method remove(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public bridge final <(Ljava/lang/Object;)TV;> method remove(p0: java.lang.Object): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/String;)TV;> method get(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/String;)TV;> method remove(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/String;TV;)TV;> method put(@org.jetbrains.annotations.NotNull p0: java.lang.String, p1: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+Ljava/lang/String;+TV;>;)V> method putAll(@org.jetbrains.annotations.NotNull p0: java.util.Map): void
public <null> method <init>(): void
@@ -34,10 +34,10 @@ public final class<<V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<Ljava/
public bridge final <()Ljava/util/Set<Ljava/lang/String;>;> method keySet(): java.util.Set
public bridge final <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TV;>;>;> method entrySet(): java.util.Set
public @org.jetbrains.annotations.NotNull <()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;TV;>;>;> method getEntries(): java.util.Set
public @org.jetbrains.annotations.Nullable <(Ljava/lang/Object;)TV;> method get(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public bridge final <(Ljava/lang/Object;)TV;> method get(p0: java.lang.Object): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/Object;)TV;> method remove(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public bridge final <(Ljava/lang/Object;)TV;> method remove(p0: java.lang.Object): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/String;)TV;> method get(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/String;)TV;> method remove(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.Object
public @org.jetbrains.annotations.Nullable <(Ljava/lang/String;TV;)TV;> method put(@org.jetbrains.annotations.NotNull p0: java.lang.String, p1: java.lang.Object): java.lang.Object
public <(Ljava/util/Map<+Ljava/lang/String;+TV;>;)V> method putAll(@org.jetbrains.annotations.NotNull p0: java.util.Map): void
public <null> method <init>(): void