.class public final Lkotlin/collections/builders/MapBuilder; .super Ljava/lang/Object; .source "MapBuilder.kt" # interfaces .implements Ljava/util/Map; .implements Ljava/io/Serializable; .implements Lkotlin/jvm/internal/markers/KMutableMap; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lkotlin/collections/builders/MapBuilder$Companion;, Lkotlin/collections/builders/MapBuilder$EntriesItr;, Lkotlin/collections/builders/MapBuilder$EntryRef;, Lkotlin/collections/builders/MapBuilder$Itr;, Lkotlin/collections/builders/MapBuilder$KeysItr;, Lkotlin/collections/builders/MapBuilder$ValuesItr; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Ljava/util/Map<", "TK;TV;>;", "Ljava/io/Serializable;", "Lkotlin/jvm/internal/markers/KMutableMap;" } .end annotation .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nMapBuilder.kt\nKotlin\n*S Kotlin\n*F\n+ 1 MapBuilder.kt\nkotlin/collections/builders/MapBuilder\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,727:1\n1#2:728\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000\u00a8\u0001\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010\u0011\n\u0002\u0008\u0002\n\u0002\u0010\u0015\n\u0002\u0008\u0008\n\u0002\u0010#\n\u0002\u0010\'\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0010\u000b\n\u0002\u0008\u0007\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0010\u001f\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0007\n\u0002\u0010$\n\u0000\n\u0002\u0010\u0002\n\u0002\u0008\u0005\n\u0002\u0010\u001e\n\u0002\u0008\u0003\n\u0002\u0010&\n\u0002\u0008\u000c\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0008\n\u0002\u0018\u0002\n\u0002\u0008\u001b\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\t\u0008\u0000\u0018\u0000 \u0080\u0001*\u0004\u0008\u0000\u0010\u0001*\u0004\u0008\u0001\u0010\u00022\u000e\u0012\u0004\u0012\u0002H\u0001\u0012\u0004\u0012\u0002H\u00020\u00032\u00060\u0004j\u0002`\u0005:\u000c\u0080\u0001\u0081\u0001\u0082\u0001\u0083\u0001\u0084\u0001\u0085\u0001B\u0007\u0008\u0016\u00a2\u0006\u0002\u0010\u0006B\u000f\u0008\u0016\u0012\u0006\u0010\u0007\u001a\u00020\u0008\u00a2\u0006\u0002\u0010\tBE\u0008\u0002\u0012\u000c\u0010\n\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u000b\u0012\u000e\u0010\u000c\u001a\n\u0012\u0004\u0012\u00028\u0001\u0018\u00010\u000b\u0012\u0006\u0010\r\u001a\u00020\u000e\u0012\u0006\u0010\u000f\u001a\u00020\u000e\u0012\u0006\u0010\u0010\u001a\u00020\u0008\u0012\u0006\u0010\u0011\u001a\u00020\u0008\u00a2\u0006\u0002\u0010\u0012J\u0017\u00103\u001a\u00020\u00082\u0006\u00104\u001a\u00028\u0000H\u0000\u00a2\u0006\u0004\u00085\u00106J\u0013\u00107\u001a\u0008\u0012\u0004\u0012\u00028\u00010\u000bH\u0002\u00a2\u0006\u0002\u00108J\u0012\u00109\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010:J\r\u0010;\u001a\u00020\u001a\u00020", "", "isReadOnly", "isReadOnly$kotlin_stdlib", "()Z", "keys", "getKeys", "[Ljava/lang/Object;", "keysView", "Lkotlin/collections/builders/MapBuilderKeys;", "modCount", "size", "getSize", "values", "", "getValues", "()Ljava/util/Collection;", "valuesView", "Lkotlin/collections/builders/MapBuilderValues;", "addKey", "key", "addKey$kotlin_stdlib", "(Ljava/lang/Object;)I", "allocateValuesArray", "()[Ljava/lang/Object;", "build", "", "checkIsMutable", "", "checkIsMutable$kotlin_stdlib", "clear", "compact", "containsAllEntries", "m", "", "containsAllEntries$kotlin_stdlib", "containsEntry", "entry", "", "containsEntry$kotlin_stdlib", "containsKey", "(Ljava/lang/Object;)Z", "containsValue", "value", "contentEquals", "other", "ensureCapacity", "minCapacity", "ensureExtraCapacity", "n", "entriesIterator", "Lkotlin/collections/builders/MapBuilder$EntriesItr;", "entriesIterator$kotlin_stdlib", "equals", "", "findKey", "findValue", "get", "(Ljava/lang/Object;)Ljava/lang/Object;", "hash", "hashCode", "isEmpty", "keysIterator", "Lkotlin/collections/builders/MapBuilder$KeysItr;", "keysIterator$kotlin_stdlib", "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;", "putAll", "from", "putAllEntries", "putEntry", "putRehash", "i", "registerModification", "rehash", "newHashSize", "remove", "removeEntry", "removeEntry$kotlin_stdlib", "removeHashAt", "removedHash", "removeKey", "removeKey$kotlin_stdlib", "removeKeyAt", "index", "removeValue", "element", "removeValue$kotlin_stdlib", "shouldCompact", "extraCapacity", "toString", "", "valuesIterator", "Lkotlin/collections/builders/MapBuilder$ValuesItr;", "valuesIterator$kotlin_stdlib", "writeReplace", "Companion", "EntriesItr", "EntryRef", "Itr", "KeysItr", "ValuesItr", "kotlin-stdlib" } k = 0x1 mv = { 0x1, 0x9, 0x0 } xi = 0x30 .end annotation # static fields .field public static final Companion:Lkotlin/collections/builders/MapBuilder$Companion; .field private static final Empty:Lkotlin/collections/builders/MapBuilder; .field private static final INITIAL_CAPACITY:I = 0x8 .field private static final INITIAL_MAX_PROBE_DISTANCE:I = 0x2 .field private static final MAGIC:I = -0x61c88647 .field private static final TOMBSTONE:I = -0x1 # instance fields .field private entriesView:Lkotlin/collections/builders/MapBuilderEntries; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/collections/builders/MapBuilderEntries<", "TK;TV;>;" } .end annotation .end field .field private hashArray:[I .field private hashShift:I .field private isReadOnly:Z .field private keysArray:[Ljava/lang/Object; .annotation system Ldalvik/annotation/Signature; value = { "[TK;" } .end annotation .end field .field private keysView:Lkotlin/collections/builders/MapBuilderKeys; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/collections/builders/MapBuilderKeys<", "TK;>;" } .end annotation .end field .field private length:I .field private maxProbeDistance:I .field private modCount:I .field private presenceArray:[I .field private size:I .field private valuesArray:[Ljava/lang/Object; .annotation system Ldalvik/annotation/Signature; value = { "[TV;" } .end annotation .end field .field private valuesView:Lkotlin/collections/builders/MapBuilderValues; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/collections/builders/MapBuilderValues<", "TV;>;" } .end annotation .end field # direct methods .method static constructor ()V .locals 2 new-instance v0, Lkotlin/collections/builders/MapBuilder$Companion; const/4 v1, 0x0 invoke-direct {v0, v1}, Lkotlin/collections/builders/MapBuilder$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; .line 488 new-instance v0, Lkotlin/collections/builders/MapBuilder; const/4 v1, 0x0 invoke-direct {v0, v1}, Lkotlin/collections/builders/MapBuilder;->(I)V const/4 v1, 0x1 iput-boolean v1, v0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z sput-object v0, Lkotlin/collections/builders/MapBuilder;->Empty:Lkotlin/collections/builders/MapBuilder; return-void .end method .method public constructor ()V .locals 1 const/16 v0, 0x8 .line 52 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->(I)V return-void .end method .method public constructor (I)V .locals 7 .line 55 invoke-static {p1}, Lkotlin/collections/builders/ListBuilderKt;->arrayOfUninitializedElements(I)[Ljava/lang/Object; move-result-object v1 const/4 v2, 0x0 .line 57 new-array v3, p1, [I sget-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; .line 58 invoke-static {v0, p1}, Lkotlin/collections/builders/MapBuilder$Companion;->access$computeHashSize(Lkotlin/collections/builders/MapBuilder$Companion;I)I move-result p1 new-array v4, p1, [I const/4 v5, 0x2 const/4 v6, 0x0 move-object v0, p0 .line 54 invoke-direct/range {v0 .. v6}, Lkotlin/collections/builders/MapBuilder;->([Ljava/lang/Object;[Ljava/lang/Object;[I[III)V return-void .end method .method private constructor ([Ljava/lang/Object;[Ljava/lang/Object;[I[III)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "([TK;[TV;[I[III)V" } .end annotation .line 12 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; iput-object p2, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; iput-object p3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I iput-object p4, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I iput p5, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I iput p6, p0, Lkotlin/collections/builders/MapBuilder;->length:I sget-object p1, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; .line 26 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result p2 invoke-static {p1, p2}, Lkotlin/collections/builders/MapBuilder$Companion;->access$computeShift(Lkotlin/collections/builders/MapBuilder$Companion;I)I move-result p1 iput p1, p0, Lkotlin/collections/builders/MapBuilder;->hashShift:I return-void .end method .method public static final synthetic access$allocateValuesArray(Lkotlin/collections/builders/MapBuilder;)[Ljava/lang/Object; .locals 0 .line 12 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->allocateValuesArray()[Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static final synthetic access$getEmpty$cp()Lkotlin/collections/builders/MapBuilder; .locals 1 sget-object v0, Lkotlin/collections/builders/MapBuilder;->Empty:Lkotlin/collections/builders/MapBuilder; return-object v0 .end method .method public static final synthetic access$getKeysArray$p(Lkotlin/collections/builders/MapBuilder;)[Ljava/lang/Object; .locals 0 .line 12 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; return-object p0 .end method .method public static final synthetic access$getLength$p(Lkotlin/collections/builders/MapBuilder;)I .locals 0 .line 12 iget p0, p0, Lkotlin/collections/builders/MapBuilder;->length:I return p0 .end method .method public static final synthetic access$getModCount$p(Lkotlin/collections/builders/MapBuilder;)I .locals 0 .line 12 iget p0, p0, Lkotlin/collections/builders/MapBuilder;->modCount:I return p0 .end method .method public static final synthetic access$getPresenceArray$p(Lkotlin/collections/builders/MapBuilder;)[I .locals 0 .line 12 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I return-object p0 .end method .method public static final synthetic access$getValuesArray$p(Lkotlin/collections/builders/MapBuilder;)[Ljava/lang/Object; .locals 0 .line 12 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; return-object p0 .end method .method public static final synthetic access$removeKeyAt(Lkotlin/collections/builders/MapBuilder;I)V .locals 0 .line 12 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->removeKeyAt(I)V return-void .end method .method private final allocateValuesArray()[Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()[TV;" } .end annotation iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; if-eqz v0, :cond_0 return-object v0 .line 231 :cond_0 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v0 invoke-static {v0}, Lkotlin/collections/builders/ListBuilderKt;->arrayOfUninitializedElements(I)[Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; return-object v0 .end method .method private final compact()V .locals 5 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; const/4 v1, 0x0 move v2, v1 :goto_0 iget v3, p0, Lkotlin/collections/builders/MapBuilder;->length:I if-ge v1, v3, :cond_2 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 243 aget v3, v3, v1 if-ltz v3, :cond_1 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 244 aget-object v4, v3, v1 aput-object v4, v3, v2 if-eqz v0, :cond_0 .line 245 aget-object v3, v0, v1 aput-object v3, v0, v2 :cond_0 add-int/lit8 v2, v2, 0x1 :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_2 iget-object v1, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 250 invoke-static {v1, v2, v3}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V if-eqz v0, :cond_3 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 251 invoke-static {v0, v2, v1}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V :cond_3 iput v2, p0, Lkotlin/collections/builders/MapBuilder;->length:I return-void .end method .method private final contentEquals(Ljava/util/Map;)Z .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "**>;)Z" } .end annotation .line 417 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result v0 invoke-interface {p1}, Ljava/util/Map;->size()I move-result v1 if-ne v0, v1, :cond_0 invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set; move-result-object p1 check-cast p1, Ljava/util/Collection; invoke-virtual {p0, p1}, Lkotlin/collections/builders/MapBuilder;->containsAllEntries$kotlin_stdlib(Ljava/util/Collection;)Z move-result p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method private final ensureCapacity(I)V .locals 2 if-ltz p1, :cond_2 .line 218 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v0 if-le p1, v0, :cond_1 .line 219 sget-object v0, Lkotlin/collections/AbstractList;->Companion:Lkotlin/collections/AbstractList$Companion; invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v1 invoke-virtual {v0, v1, p1}, Lkotlin/collections/AbstractList$Companion;->newCapacity$kotlin_stdlib(II)I move-result p1 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 220 invoke-static {v0, p1}, Lkotlin/collections/builders/ListBuilderKt;->copyOfUninitializedElements([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; if-eqz v0, :cond_0 .line 221 invoke-static {v0, p1}, Lkotlin/collections/builders/ListBuilderKt;->copyOfUninitializedElements([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 222 invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([II)[I move-result-object v0 const-string v1, "copyOf(...)" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I sget-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; .line 223 invoke-static {v0, p1}, Lkotlin/collections/builders/MapBuilder$Companion;->access$computeHashSize(Lkotlin/collections/builders/MapBuilder$Companion;I)I move-result p1 .line 224 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 if-le p1, v0, :cond_1 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->rehash(I)V :cond_1 return-void .line 217 :cond_2 new-instance p0, Ljava/lang/OutOfMemoryError; invoke-direct {p0}, Ljava/lang/OutOfMemoryError;->()V throw p0 .end method .method private final ensureExtraCapacity(I)V .locals 1 .line 201 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->shouldCompact(I)Z move-result v0 if-eqz v0, :cond_0 .line 202 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result p1 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->rehash(I)V goto :goto_0 :cond_0 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->length:I add-int/2addr v0, p1 .line 204 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->ensureCapacity(I)V :goto_0 return-void .end method .method private final findKey(Ljava/lang/Object;)I .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)I" } .end annotation .line 290 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v0 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I :goto_0 iget-object v2, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 293 aget v2, v2, v0 const/4 v3, -0x1 if-nez v2, :cond_0 return v3 :cond_0 if-lez v2, :cond_1 iget-object v4, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; add-int/lit8 v2, v2, -0x1 .line 295 aget-object v4, v4, v2 invoke-static {v4, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_1 return v2 :cond_1 add-int/2addr v1, v3 if-gez v1, :cond_2 return v3 :cond_2 add-int/lit8 v2, v0, -0x1 if-nez v0, :cond_3 .line 297 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_3 move v0, v2 goto :goto_0 .end method .method private final findValue(Ljava/lang/Object;)I .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TV;)I" } .end annotation iget v0, p0, Lkotlin/collections/builders/MapBuilder;->length:I :cond_0 const/4 v1, -0x1 add-int/2addr v0, v1 if-ltz v0, :cond_1 iget-object v1, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 304 aget v1, v1, v0 if-ltz v1, :cond_0 iget-object v1, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; invoke-static {v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V aget-object v1, v1, v0 invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_0 return v0 :cond_1 return v1 .end method .method private final getHashSize()I .locals 0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 190 array-length p0, p0 return p0 .end method .method private final hash(Ljava/lang/Object;)I .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)I" } .end annotation if-eqz p1, :cond_0 .line 236 invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 const v0, -0x61c88647 mul-int/2addr p1, v0 iget p0, p0, Lkotlin/collections/builders/MapBuilder;->hashShift:I ushr-int p0, p1, p0 return p0 .end method .method private final putAllEntries(Ljava/util/Collection;)Z .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "+", "Ljava/util/Map$Entry<", "+TK;+TV;>;>;)Z" } .end annotation .line 450 invoke-interface {p1}, Ljava/util/Collection;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 .line 451 :cond_0 invoke-interface {p1}, Ljava/util/Collection;->size()I move-result v0 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->ensureExtraCapacity(I)V .line 452 invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p1 .line 454 :cond_1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2 .line 455 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map$Entry; invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->putEntry(Ljava/util/Map$Entry;)Z move-result v0 if-eqz v0, :cond_1 const/4 v1, 0x1 goto :goto_0 :cond_2 return v1 .end method .method private final putEntry(Ljava/util/Map$Entry;)Z .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map$Entry<", "+TK;+TV;>;)Z" } .end annotation .line 435 invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v0 invoke-virtual {p0, v0}, Lkotlin/collections/builders/MapBuilder;->addKey$kotlin_stdlib(Ljava/lang/Object;)I move-result v0 .line 436 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->allocateValuesArray()[Ljava/lang/Object; move-result-object p0 const/4 v1, 0x1 if-ltz v0, :cond_0 .line 438 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 aput-object p1, p0, v0 return v1 :cond_0 neg-int v0, v0 sub-int/2addr v0, v1 .line 441 aget-object v2, p0, v0 .line 442 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v3 invoke-static {v3, v2}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_1 .line 443 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 aput-object p1, p0, v0 return v1 :cond_1 const/4 p0, 0x0 return p0 .end method .method private final putRehash(I)Z .locals 5 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 275 aget-object v0, v0, p1 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v0 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I :goto_0 iget-object v2, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 278 aget v3, v2, v0 const/4 v4, 0x1 if-nez v3, :cond_0 add-int/lit8 v1, p1, 0x1 .line 280 aput v1, v2, v0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 281 aput v0, p0, p1 return v4 :cond_0 add-int/lit8 v1, v1, -0x1 if-gez v1, :cond_1 const/4 p0, 0x0 return p0 :cond_1 add-int/lit8 v2, v0, -0x1 if-nez v0, :cond_2 .line 285 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 sub-int/2addr v0, v4 goto :goto_0 :cond_2 move v0, v2 goto :goto_0 .end method .method private final registerModification()V .locals 1 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->modCount:I add-int/lit8 v0, v0, 0x1 iput v0, p0, Lkotlin/collections/builders/MapBuilder;->modCount:I return-void .end method .method private final rehash(I)V .locals 2 .line 257 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->registerModification()V iget v0, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 258 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result v1 if-le v0, v1, :cond_0 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->compact()V .line 259 :cond_0 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 const/4 v1, 0x0 if-eq p1, v0, :cond_1 .line 260 new-array v0, p1, [I iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I sget-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; .line 261 invoke-static {v0, p1}, Lkotlin/collections/builders/MapBuilder$Companion;->access$computeShift(Lkotlin/collections/builders/MapBuilder$Companion;I)I move-result p1 iput p1, p0, Lkotlin/collections/builders/MapBuilder;->hashShift:I goto :goto_0 :cond_1 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 263 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 invoke-static {p1, v1, v1, v0}, Lkotlin/collections/ArraysKt;->fill([IIII)V :goto_0 iget p1, p0, Lkotlin/collections/builders/MapBuilder;->length:I if-ge v1, p1, :cond_3 add-int/lit8 p1, v1, 0x1 .line 267 invoke-direct {p0, v1}, Lkotlin/collections/builders/MapBuilder;->putRehash(I)Z move-result v0 if-eqz v0, :cond_2 move v1, p1 goto :goto_0 .line 268 :cond_2 new-instance p0, Ljava/lang/IllegalStateException; const-string p1, "This cannot happen with fixed magic multiplier and grow-only hash array. Have object hashCodes changed?" invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p0 :cond_3 return-void .end method .method private final removeHashAt(I)V .locals 9 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I mul-int/lit8 v0, v0, 0x2 .line 365 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v1 div-int/lit8 v1, v1, 0x2 invoke-static {v0, v1}, Lkotlin/ranges/RangesKt;->coerceAtMost(II)I move-result v0 const/4 v1, 0x0 move v2, v0 move v3, v1 move v0, p1 :cond_0 add-int/lit8 v4, p1, -0x1 if-nez p1, :cond_1 .line 367 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result p1 add-int/lit8 p1, p1, -0x1 goto :goto_0 :cond_1 move p1, v4 :goto_0 add-int/lit8 v3, v3, 0x1 iget v4, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I if-le v3, v4, :cond_2 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 370 aput v1, p0, v0 return-void :cond_2 iget-object v4, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 373 aget v5, v4, p1 if-nez v5, :cond_3 .line 376 aput v1, v4, v0 return-void :cond_3 const/4 v6, -0x1 if-gez v5, :cond_4 .line 385 aput v6, v4, v0 :goto_1 move v0, p1 move v3, v1 goto :goto_2 :cond_4 iget-object v4, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; add-int/lit8 v7, v5, -0x1 .line 389 aget-object v4, v4, v7 invoke-direct {p0, v4}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v4 sub-int/2addr v4, p1 .line 394 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v8 add-int/lit8 v8, v8, -0x1 and-int/2addr v4, v8 if-lt v4, v3, :cond_5 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 396 aput v5, v3, v0 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 397 aput v0, v3, v7 goto :goto_1 :cond_5 :goto_2 add-int/2addr v2, v6 if-gez v2, :cond_0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 405 aput v6, p0, v0 return-void .end method .method private final removeKeyAt(I)V .locals 2 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 354 invoke-static {v0, p1}, Lkotlin/collections/builders/ListBuilderKt;->resetAt([Ljava/lang/Object;I)V iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 355 aget v0, v0, p1 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->removeHashAt(I)V iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I const/4 v1, -0x1 .line 356 aput v1, v0, p1 .line 357 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result p1 add-int/2addr p1, v1 iput p1, p0, Lkotlin/collections/builders/MapBuilder;->size:I .line 358 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->registerModification()V return-void .end method .method private final shouldCompact(I)Z .locals 3 .line 209 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v0 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I sub-int/2addr v0, v1 .line 210 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result v2 sub-int/2addr v1, v2 if-ge v0, p1, :cond_0 add-int/2addr v0, v1 if-lt v0, p1, :cond_0 .line 213 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result p0 div-int/lit8 p0, p0, 0x4 if-lt v1, p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method private final writeReplace()Ljava/lang/Object; .locals 1 iget-boolean v0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z if-eqz v0, :cond_0 .line 71 new-instance v0, Lkotlin/collections/builders/SerializedMap; check-cast p0, Ljava/util/Map; invoke-direct {v0, p0}, Lkotlin/collections/builders/SerializedMap;->(Ljava/util/Map;)V return-object v0 .line 73 :cond_0 new-instance p0, Ljava/io/NotSerializableException; const-string v0, "The map cannot be serialized while it is being built." invoke-direct {p0, v0}, Ljava/io/NotSerializableException;->(Ljava/lang/String;)V throw p0 .end method # virtual methods .method public final addKey$kotlin_stdlib(Ljava/lang/Object;)I .locals 7 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)I" } .end annotation .line 311 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 313 :goto_0 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v0 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I mul-int/lit8 v1, v1, 0x2 .line 315 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v2 div-int/lit8 v2, v2, 0x2 invoke-static {v1, v2}, Lkotlin/ranges/RangesKt;->coerceAtMost(II)I move-result v1 const/4 v2, 0x0 :goto_1 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 318 aget v3, v3, v0 const/4 v4, 0x1 if-gtz v3, :cond_2 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 320 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v3 if-lt v1, v3, :cond_0 .line 321 invoke-direct {p0, v4}, Lkotlin/collections/builders/MapBuilder;->ensureExtraCapacity(I)V goto :goto_0 :cond_0 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I add-int/lit8 v3, v1, 0x1 iput v3, p0, Lkotlin/collections/builders/MapBuilder;->length:I iget-object v5, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 325 aput-object p1, v5, v1 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 326 aput v0, p1, v1 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 327 aput v3, p1, v0 .line 328 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result p1 add-int/2addr p1, v4 iput p1, p0, Lkotlin/collections/builders/MapBuilder;->size:I .line 329 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->registerModification()V iget p1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I if-le v2, p1, :cond_1 iput v2, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I :cond_1 return v1 :cond_2 iget-object v5, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; add-int/lit8 v6, v3, -0x1 .line 333 aget-object v5, v5, v6 invoke-static {v5, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v5 if-eqz v5, :cond_3 neg-int p0, v3 return p0 :cond_3 add-int/lit8 v2, v2, 0x1 if-le v2, v1, :cond_4 .line 337 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 mul-int/lit8 v0, v0, 0x2 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->rehash(I)V goto :goto_0 :cond_4 add-int/lit8 v3, v0, -0x1 if-nez v0, :cond_5 .line 340 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 sub-int/2addr v0, v4 goto :goto_1 :cond_5 move v0, v3 goto :goto_1 .end method .method public final build()Ljava/util/Map; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "TK;TV;>;" } .end annotation .line 63 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V const/4 v0, 0x1 iput-boolean v0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z .line 66 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result v0 if-lez v0, :cond_0 goto :goto_0 :cond_0 sget-object p0, Lkotlin/collections/builders/MapBuilder;->Empty:Lkotlin/collections/builders/MapBuilder; const-string v0, "null cannot be cast to non-null type kotlin.collections.Map" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V :goto_0 check-cast p0, Ljava/util/Map; return-object p0 .end method .method public final checkIsMutable$kotlin_stdlib()V .locals 0 iget-boolean p0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z if-nez p0, :cond_0 return-void .line 197 :cond_0 new-instance p0, Ljava/lang/UnsupportedOperationException; invoke-direct {p0}, Ljava/lang/UnsupportedOperationException;->()V throw p0 .end method .method public clear()V .locals 6 .line 114 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 116 new-instance v0, Lkotlin/ranges/IntRange; iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I add-int/lit8 v1, v1, -0x1 const/4 v2, 0x0 invoke-direct {v0, v2, v1}, Lkotlin/ranges/IntRange;->(II)V invoke-virtual {v0}, Lkotlin/ranges/IntRange;->iterator()Lkotlin/collections/IntIterator; move-result-object v0 :cond_0 :goto_0 invoke-virtual {v0}, Lkotlin/collections/IntIterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-virtual {v0}, Lkotlin/collections/IntIterator;->nextInt()I move-result v1 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 117 aget v4, v3, v1 if-ltz v4, :cond_0 iget-object v5, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 119 aput v2, v5, v4 const/4 v4, -0x1 .line 120 aput v4, v3, v1 goto :goto_0 :cond_1 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 123 invoke-static {v0, v2, v1}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; if-eqz v0, :cond_2 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 124 invoke-static {v0, v2, v1}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V :cond_2 iput v2, p0, Lkotlin/collections/builders/MapBuilder;->size:I iput v2, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 127 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->registerModification()V return-void .end method .method public final containsAllEntries$kotlin_stdlib(Ljava/util/Collection;)Z .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "*>;)Z" } .end annotation const-string v0, "m" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 420 invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p1 .line 421 :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2 .line 422 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_1 .line 425 :try_start_0 check-cast v0, Ljava/util/Map$Entry; invoke-virtual {p0, v0}, Lkotlin/collections/builders/MapBuilder;->containsEntry$kotlin_stdlib(Ljava/util/Map$Entry;)Z move-result v0 :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 if-nez v0, :cond_0 nop :catch_0 :cond_1 return v1 :cond_2 const/4 p0, 0x1 return p0 .end method .method public final containsEntry$kotlin_stdlib(Ljava/util/Map$Entry;)Z .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map$Entry<", "+TK;+TV;>;)Z" } .end annotation const-string v0, "entry" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 412 invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v0 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result v0 if-gez v0, :cond_0 const/4 p0, 0x0 return p0 :cond_0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; .line 414 invoke-static {p0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V aget-object p0, p0, v0 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 invoke-static {p0, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p0 return p0 .end method .method public containsKey(Ljava/lang/Object;)Z .locals 0 .line 76 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result p0 if-ltz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public containsValue(Ljava/lang/Object;)Z .locals 0 .line 77 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findValue(Ljava/lang/Object;)I move-result p0 if-ltz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public final entriesIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$EntriesItr; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lkotlin/collections/builders/MapBuilder$EntriesItr<", "TK;TV;>;" } .end annotation .line 480 new-instance v0, Lkotlin/collections/builders/MapBuilder$EntriesItr; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->(Lkotlin/collections/builders/MapBuilder;)V return-object v0 .end method .method public final bridge entrySet()Ljava/util/Set; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "Ljava/util/Map$Entry<", "TK;TV;>;>;" } .end annotation .line 12 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getEntries()Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public equals(Ljava/lang/Object;)Z .locals 1 if-eq p1, p0, :cond_1 .line 159 instance-of v0, p1, Ljava/util/Map; if-eqz v0, :cond_0 .line 160 check-cast p1, Ljava/util/Map; invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->contentEquals(Ljava/util/Map;)Z move-result p0 if-eqz p0, :cond_0 goto :goto_0 :cond_0 const/4 p0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p0, 0x1 :goto_1 return p0 .end method .method public get(Ljava/lang/Object;)Ljava/lang/Object; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TV;" } .end annotation .line 80 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p0, 0x0 return-object p0 :cond_0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; .line 82 invoke-static {p0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V aget-object p0, p0, p1 return-object p0 .end method .method public final getCapacity$kotlin_stdlib()I .locals 0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 189 array-length p0, p0 return p0 .end method .method public getEntries()Ljava/util/Set; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "Ljava/util/Map$Entry<", "TK;TV;>;>;" } .end annotation iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->entriesView:Lkotlin/collections/builders/MapBuilderEntries; if-nez v0, :cond_0 .line 151 new-instance v0, Lkotlin/collections/builders/MapBuilderEntries; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilderEntries;->(Lkotlin/collections/builders/MapBuilder;)V iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->entriesView:Lkotlin/collections/builders/MapBuilderEntries; .line 153 check-cast v0, Ljava/util/Set; return-object v0 .line 154 :cond_0 check-cast v0, Ljava/util/Set; return-object v0 .end method .method public getKeys()Ljava/util/Set; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "TK;>;" } .end annotation iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysView:Lkotlin/collections/builders/MapBuilderKeys; if-nez v0, :cond_0 .line 133 new-instance v0, Lkotlin/collections/builders/MapBuilderKeys; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilderKeys;->(Lkotlin/collections/builders/MapBuilder;)V iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysView:Lkotlin/collections/builders/MapBuilderKeys; .line 135 check-cast v0, Ljava/util/Set; goto :goto_0 .line 136 :cond_0 check-cast v0, Ljava/util/Set; :goto_0 return-object v0 .end method .method public getSize()I .locals 0 iget p0, p0, Lkotlin/collections/builders/MapBuilder;->size:I return p0 .end method .method public getValues()Ljava/util/Collection; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Collection<", "TV;>;" } .end annotation iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesView:Lkotlin/collections/builders/MapBuilderValues; if-nez v0, :cond_0 .line 142 new-instance v0, Lkotlin/collections/builders/MapBuilderValues; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilderValues;->(Lkotlin/collections/builders/MapBuilder;)V iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesView:Lkotlin/collections/builders/MapBuilderValues; .line 144 check-cast v0, Ljava/util/Collection; goto :goto_0 .line 145 :cond_0 check-cast v0, Ljava/util/Collection; :goto_0 return-object v0 .end method .method public hashCode()I .locals 2 .line 165 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->entriesIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$EntriesItr; move-result-object p0 const/4 v0, 0x0 .line 166 :goto_0 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->hasNext()Z move-result v1 if-eqz v1, :cond_0 .line 167 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->nextHashCode$kotlin_stdlib()I move-result v1 add-int/2addr v0, v1 goto :goto_0 :cond_0 return v0 .end method .method public isEmpty()Z .locals 0 .line 75 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result p0 if-nez p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public final isReadOnly$kotlin_stdlib()Z .locals 0 iget-boolean p0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z return p0 .end method .method public final bridge keySet()Ljava/util/Set; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Set<", "TK;>;" } .end annotation .line 12 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getKeys()Ljava/util/Set; move-result-object p0 return-object p0 .end method .method public final keysIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$KeysItr; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lkotlin/collections/builders/MapBuilder$KeysItr<", "TK;TV;>;" } .end annotation .line 478 new-instance v0, Lkotlin/collections/builders/MapBuilder$KeysItr; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilder$KeysItr;->(Lkotlin/collections/builders/MapBuilder;)V return-object v0 .end method .method public put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)TV;" } .end annotation .line 86 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 87 invoke-virtual {p0, p1}, Lkotlin/collections/builders/MapBuilder;->addKey$kotlin_stdlib(Ljava/lang/Object;)I move-result p1 .line 88 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->allocateValuesArray()[Ljava/lang/Object; move-result-object p0 if-gez p1, :cond_0 neg-int p1, p1 add-int/lit8 p1, p1, -0x1 .line 90 aget-object v0, p0, p1 .line 91 aput-object p2, p0, p1 return-object v0 .line 94 :cond_0 aput-object p2, p0, p1 const/4 p0, 0x0 return-object p0 .end method .method public putAll(Ljava/util/Map;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map<", "+TK;+TV;>;)V" } .end annotation const-string v0, "from" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 100 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 101 invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set; move-result-object p1 check-cast p1, Ljava/util/Collection; invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->putAllEntries(Ljava/util/Collection;)Z return-void .end method .method public remove(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TV;" } .end annotation .line 105 invoke-virtual {p0, p1}, Lkotlin/collections/builders/MapBuilder;->removeKey$kotlin_stdlib(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p0, 0x0 return-object p0 :cond_0 iget-object p0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; .line 107 invoke-static {p0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V .line 108 aget-object v0, p0, p1 .line 109 invoke-static {p0, p1}, Lkotlin/collections/builders/ListBuilderKt;->resetAt([Ljava/lang/Object;I)V return-object v0 .end method .method public final removeEntry$kotlin_stdlib(Ljava/util/Map$Entry;)Z .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map$Entry<", "+TK;+TV;>;)Z" } .end annotation const-string v0, "entry" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 462 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 463 invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v0 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result v0 const/4 v1, 0x0 if-gez v0, :cond_0 return v1 :cond_0 iget-object v2, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; .line 465 invoke-static {v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V aget-object v2, v2, v0 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 invoke-static {v2, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p1 if-nez p1, :cond_1 return v1 .line 466 :cond_1 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->removeKeyAt(I)V const/4 p0, 0x1 return p0 .end method .method public final removeKey$kotlin_stdlib(Ljava/lang/Object;)I .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)I" } .end annotation .line 346 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 347 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p0, -0x1 return p0 .line 349 :cond_0 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->removeKeyAt(I)V return p1 .end method .method public final removeValue$kotlin_stdlib(Ljava/lang/Object;)Z .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(TV;)Z" } .end annotation .line 471 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 472 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findValue(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p0, 0x0 return p0 .line 474 :cond_0 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->removeKeyAt(I)V const/4 p0, 0x1 return p0 .end method .method public final bridge size()I .locals 0 .line 12 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getSize()I move-result p0 return p0 .end method .method public toString()Ljava/lang/String; .locals 3 .line 173 new-instance v0, Ljava/lang/StringBuilder; invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result v1 mul-int/lit8 v1, v1, 0x3 add-int/lit8 v1, v1, 0x2 invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(I)V const-string v1, "{" .line 174 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 176 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->entriesIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$EntriesItr; move-result-object p0 const/4 v1, 0x0 .line 177 :goto_0 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->hasNext()Z move-result v2 if-eqz v2, :cond_1 if-lez v1, :cond_0 const-string v2, ", " .line 178 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 179 :cond_0 invoke-virtual {p0, v0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->nextAppendString(Ljava/lang/StringBuilder;)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 const-string p0, "}" .line 182 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 183 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 const-string v0, "toString(...)" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object p0 .end method .method public final bridge values()Ljava/util/Collection; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Collection<", "TV;>;" } .end annotation .line 12 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getValues()Ljava/util/Collection; move-result-object p0 return-object p0 .end method .method public final valuesIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$ValuesItr; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lkotlin/collections/builders/MapBuilder$ValuesItr<", "TK;TV;>;" } .end annotation .line 479 new-instance v0, Lkotlin/collections/builders/MapBuilder$ValuesItr; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilder$ValuesItr;->(Lkotlin/collections/builders/MapBuilder;)V return-object v0 .end method