.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$Itr;, Lkotlin/collections/builders/MapBuilder$KeysItr;, Lkotlin/collections/builders/MapBuilder$ValuesItr;, Lkotlin/collections/builders/MapBuilder$EntriesItr;, Lkotlin/collections/builders/MapBuilder$EntryRef; } .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 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\u0003\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\u000b\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0008\n\u0002\u0018\u0002\n\u0002\u0008\u001a\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\t\u0008\u0000\u0018\u0000 }*\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:\t}~\u007f\u0080\u0001\u0081\u0001\u0082\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\u00102\u001a\u00020\u00082\u0006\u00103\u001a\u00028\u0000H\u0000\u00a2\u0006\u0004\u00084\u00105J\u0013\u00106\u001a\u0008\u0012\u0004\u0012\u00028\u00010\u000bH\u0002\u00a2\u0006\u0002\u00107J\u0012\u00108\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u000109J\r\u0010:\u001a\u00020;H\u0000\u00a2\u0006\u0002\u0008\u001a\u00020;H\u0002J\u0019\u0010?\u001a\u00020!2\n\u0010@\u001a\u0006\u0012\u0002\u0008\u00030AH\u0000\u00a2\u0006\u0002\u0008BJ!\u0010C\u001a\u00020!2\u0012\u0010D\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010EH\u0000\u00a2\u0006\u0002\u0008FJ\u0015\u0010G\u001a\u00020!2\u0006\u00103\u001a\u00028\u0000H\u0016\u00a2\u0006\u0002\u0010HJ\u0015\u0010I\u001a\u00020!2\u0006\u0010J\u001a\u00028\u0001H\u0016\u00a2\u0006\u0002\u0010HJ\u0018\u0010K\u001a\u00020!2\u000e\u0010L\u001a\n\u0012\u0002\u0008\u0003\u0012\u0002\u0008\u000309H\u0002J\u0010\u0010M\u001a\u00020;2\u0006\u0010\u0013\u001a\u00020\u0008H\u0002J\u0010\u0010N\u001a\u00020;2\u0006\u0010O\u001a\u00020\u0008H\u0002J\u0019\u0010P\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010QH\u0000\u00a2\u0006\u0002\u0008RJ\u0013\u0010S\u001a\u00020!2\u0008\u0010L\u001a\u0004\u0018\u00010TH\u0096\u0002J\u0015\u0010U\u001a\u00020\u00082\u0006\u00103\u001a\u00028\u0000H\u0002\u00a2\u0006\u0002\u00105J\u0015\u0010V\u001a\u00020\u00082\u0006\u0010J\u001a\u00028\u0001H\u0002\u00a2\u0006\u0002\u00105J\u0018\u0010W\u001a\u0004\u0018\u00018\u00012\u0006\u00103\u001a\u00028\u0000H\u0096\u0002\u00a2\u0006\u0002\u0010XJ\u0015\u0010Y\u001a\u00020\u00082\u0006\u00103\u001a\u00028\u0000H\u0002\u00a2\u0006\u0002\u00105J\u0008\u0010Z\u001a\u00020\u0008H\u0016J\u0008\u0010[\u001a\u00020!H\u0016J\u0019\u0010\\\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010]H\u0000\u00a2\u0006\u0002\u0008^J\u001f\u0010_\u001a\u0004\u0018\u00018\u00012\u0006\u00103\u001a\u00028\u00002\u0006\u0010J\u001a\u00028\u0001H\u0016\u00a2\u0006\u0002\u0010`J\u001e\u0010a\u001a\u00020;2\u0014\u0010b\u001a\u0010\u0012\u0006\u0008\u0001\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u000109H\u0016J\"\u0010c\u001a\u00020!2\u0018\u0010b\u001a\u0014\u0012\u0010\u0012\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010E0AH\u0002J\u001c\u0010d\u001a\u00020!2\u0012\u0010D\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010EH\u0002J\u0010\u0010e\u001a\u00020!2\u0006\u0010f\u001a\u00020\u0008H\u0002J\u0010\u0010g\u001a\u00020;2\u0006\u0010h\u001a\u00020\u0008H\u0002J\u0017\u0010i\u001a\u0004\u0018\u00018\u00012\u0006\u00103\u001a\u00028\u0000H\u0016\u00a2\u0006\u0002\u0010XJ!\u0010j\u001a\u00020!2\u0012\u0010D\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010EH\u0000\u00a2\u0006\u0002\u0008kJ\u0010\u0010l\u001a\u00020;2\u0006\u0010m\u001a\u00020\u0008H\u0002J\u0017\u0010n\u001a\u00020\u00082\u0006\u00103\u001a\u00028\u0000H\u0000\u00a2\u0006\u0004\u0008o\u00105J\u0010\u0010p\u001a\u00020;2\u0006\u0010q\u001a\u00020\u0008H\u0002J\u0017\u0010r\u001a\u00020!2\u0006\u0010s\u001a\u00028\u0001H\u0000\u00a2\u0006\u0004\u0008t\u0010HJ\u0010\u0010u\u001a\u00020!2\u0006\u0010v\u001a\u00020\u0008H\u0002J\u0008\u0010w\u001a\u00020xH\u0016J\u0019\u0010y\u001a\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010zH\u0000\u00a2\u0006\u0002\u0008{J\u0008\u0010|\u001a\u00020TH\u0002R\u0014\u0010\u0013\u001a\u00020\u00088@X\u0080\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u0014\u0010\u0015R&\u0010\u0016\u001a\u0014\u0012\u0010\u0012\u000e\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u00010\u00180\u00178VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u0019\u0010\u001aR\u001c\u0010\u001b\u001a\u0010\u0012\u0004\u0012\u00028\u0000\u0012\u0004\u0012\u00028\u0001\u0018\u00010\u001cX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000f\u001a\u00020\u000eX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u001d\u001a\u00020\u0008X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u001e\u001a\u00020\u00088BX\u0082\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u001f\u0010\u0015R\u001e\u0010\"\u001a\u00020!2\u0006\u0010 \u001a\u00020!@BX\u0080\u000e\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008#\u0010$R\u001a\u0010%\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u00178VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\u0008&\u0010\u001aR\u0016\u0010\n\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u000bX\u0082\u000e\u00a2\u0006\u0004\n\u0002\u0010\'R\u0016\u0010(\u001a\n\u0012\u0004\u0012\u00028\u0000\u0018\u00010)X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u0008X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0010\u001a\u00020\u0008X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000eX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u001e\u0010*\u001a\u00020\u00082\u0006\u0010 \u001a\u00020\u0008@RX\u0096\u000e\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008+\u0010\u0015R\u001a\u0010,\u001a\u0008\u0012\u0004\u0012\u00028\u00010-8VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\u0008.\u0010/R\u0018\u0010\u000c\u001a\n\u0012\u0004\u0012\u00028\u0001\u0018\u00010\u000bX\u0082\u000e\u00a2\u0006\u0004\n\u0002\u0010\'R\u0016\u00100\u001a\n\u0012\u0004\u0012\u00028\u0001\u0018\u000101X\u0082\u000e\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0083\u0001" } d2 = { "Lkotlin/collections/builders/MapBuilder;", "K", "V", "", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "initialCapacity", "", "(I)V", "keysArray", "", "valuesArray", "presenceArray", "", "hashArray", "maxProbeDistance", "length", "([Ljava/lang/Object;[Ljava/lang/Object;[I[III)V", "capacity", "getCapacity$kotlin_stdlib", "()I", "entries", "", "", "getEntries", "()Ljava/util/Set;", "entriesView", "Lkotlin/collections/builders/MapBuilderEntries;", "hashShift", "hashSize", "getHashSize", "", "", "isReadOnly", "isReadOnly$kotlin_stdlib", "()Z", "keys", "getKeys", "[Ljava/lang/Object;", "keysView", "Lkotlin/collections/builders/MapBuilderKeys;", "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", "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", "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, 0x8, 0x0 } xi = 0x30 .end annotation # static fields .field private static final Companion:Lkotlin/collections/builders/MapBuilder$Companion; .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 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; return-void .end method .method public constructor ()V .locals 1 const/16 v0, 0x8 .line 40 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->(I)V return-void .end method .method public constructor (I)V .locals 7 .line 43 invoke-static {p1}, Lkotlin/collections/builders/ListBuilderKt;->arrayOfUninitializedElements(I)[Ljava/lang/Object; move-result-object v1 .line 45 new-array v3, p1, [I .line 46 sget-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; 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 const/4 v2, 0x0 move-object v0, p0 .line 42 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 .line 14 iput-object p1, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; .line 16 iput-object p2, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; .line 18 iput-object p3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I .line 20 iput-object p4, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 22 iput p5, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I .line 24 iput p6, p0, Lkotlin/collections/builders/MapBuilder;->length:I .line 26 sget-object p1, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; 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$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$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 .line 212 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; if-eqz v0, :cond_0 return-object v0 .line 214 :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 .line 215 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; return-object v0 .end method .method private final compact()V .locals 5 .line 224 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; const/4 v1, 0x0 move v2, v1 .line 225 :goto_0 iget v3, p0, Lkotlin/collections/builders/MapBuilder;->length:I if-ge v1, v3, :cond_2 .line 226 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I aget v3, v3, v1 if-ltz v3, :cond_1 .line 227 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; aget-object v4, v3, v1 aput-object v4, v3, v2 if-eqz v0, :cond_0 .line 228 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 .line 233 :cond_2 iget-object v1, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; invoke-static {v1, v2, v3}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V if-eqz v0, :cond_3 .line 234 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I invoke-static {v0, v2, v1}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V .line 235 :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 397 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 p1 if-eqz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method private final ensureCapacity(I)V .locals 2 if-ltz p1, :cond_3 .line 200 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v0 if-le p1, v0, :cond_2 .line 201 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v0 mul-int/lit8 v0, v0, 0x3 div-int/lit8 v0, v0, 0x2 if-le p1, v0, :cond_0 goto :goto_0 :cond_0 move p1, v0 .line 203 :goto_0 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; 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; .line 204 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; if-eqz v0, :cond_1 invoke-static {v0, p1}, Lkotlin/collections/builders/ListBuilderKt;->copyOfUninitializedElements([Ljava/lang/Object;I)[Ljava/lang/Object; move-result-object v0 goto :goto_1 :cond_1 const/4 v0, 0x0 :goto_1 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; .line 205 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([II)[I move-result-object v0 const-string v1, "copyOf(this, newSize)" 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 .line 206 sget-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; invoke-static {v0, p1}, Lkotlin/collections/builders/MapBuilder$Companion;->access$computeHashSize(Lkotlin/collections/builders/MapBuilder$Companion;I)I move-result p1 .line 207 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 if-le p1, v0, :cond_2 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->rehash(I)V :cond_2 return-void .line 199 :cond_3 new-instance p1, Ljava/lang/OutOfMemoryError; invoke-direct {p1}, Ljava/lang/OutOfMemoryError;->()V throw p1 .end method .method private final ensureExtraCapacity(I)V .locals 1 .line 183 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->shouldCompact(I)Z move-result v0 if-eqz v0, :cond_0 .line 184 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 .line 186 :cond_0 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->length:I add-int/2addr v0, p1 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 272 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v0 .line 273 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I .line 275 :goto_0 iget-object v2, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aget v2, v2, v0 const/4 v3, -0x1 if-nez v2, :cond_0 return v3 :cond_0 if-lez v2, :cond_1 .line 277 iget-object v4, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; add-int/lit8 v2, v2, -0x1 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 279 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 .line 284 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 .line 286 iget-object v1, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I 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 1 .line 176 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I array-length v0, v0 return v0 .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 219 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 v0, p0, Lkotlin/collections/builders/MapBuilder;->hashShift:I ushr-int/2addr p1, v0 return p1 .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 430 invoke-interface {p1}, Ljava/util/Collection;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 .line 431 :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 432 invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p1 .line 434 :cond_1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2 .line 435 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 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map$Entry<", "+TK;+TV;>;)Z" } .end annotation .line 415 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 416 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->allocateValuesArray()[Ljava/lang/Object; move-result-object v1 const/4 v2, 0x1 if-ltz v0, :cond_0 .line 418 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 aput-object p1, v1, v0 return v2 :cond_0 neg-int v0, v0 sub-int/2addr v0, v2 .line 421 aget-object v3, v1, v0 .line 422 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v4 invoke-static {v4, v3}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_1 .line 423 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 aput-object p1, v1, v0 return v2 :cond_1 const/4 p1, 0x0 return p1 .end method .method private final putRehash(I)Z .locals 5 .line 257 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; aget-object v0, v0, p1 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v0 .line 258 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I .line 260 :goto_0 iget-object v2, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aget v3, v2, v0 const/4 v4, 0x1 if-nez v3, :cond_0 add-int/lit8 v1, p1, 0x1 .line 262 aput v1, v2, v0 .line 263 iget-object v1, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I aput v0, v1, p1 return v4 :cond_0 add-int/lit8 v1, v1, -0x1 if-gez v1, :cond_1 const/4 p1, 0x0 return p1 :cond_1 add-int/lit8 v2, v0, -0x1 if-nez v0, :cond_2 .line 267 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 rehash(I)V .locals 2 .line 240 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->length:I 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 241 :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 242 new-array v0, p1, [I iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I .line 243 sget-object v0, Lkotlin/collections/builders/MapBuilder;->Companion:Lkotlin/collections/builders/MapBuilder$Companion; 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 .line 245 :cond_1 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->getHashSize()I move-result v0 invoke-static {p1, v1, v1, v0}, Lkotlin/collections/ArraysKt;->fill([IIII)V .line 248 :goto_0 iget p1, p0, Lkotlin/collections/builders/MapBuilder;->length:I if-ge v1, p1, :cond_3 add-int/lit8 p1, v1, 0x1 .line 249 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 250 :cond_2 new-instance p1, Ljava/lang/IllegalStateException; const-string v0, "This cannot happen with fixed magic multiplier and grow-only hash array. Have object hashCodes changed?" invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 :cond_3 return-void .end method .method private final removeHashAt(I)V .locals 9 .line 345 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I mul-int/lit8 v0, v0, 0x2 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 347 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 .line 348 iget v4, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I if-le v3, v4, :cond_2 .line 350 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aput v1, p1, v0 return-void .line 353 :cond_2 iget-object v4, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aget v5, v4, p1 if-nez v5, :cond_3 .line 356 aput v1, v4, v0 return-void :cond_3 const/4 v6, -0x1 if-gez v5, :cond_4 .line 365 aput v6, v4, v0 :goto_1 move v0, p1 move v3, v1 goto :goto_2 .line 369 :cond_4 iget-object v4, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; add-int/lit8 v7, v5, -0x1 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 374 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 .line 376 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aput v5, v3, v0 .line 377 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I aput v0, v3, v7 goto :goto_1 :cond_5 :goto_2 add-int/2addr v2, v6 if-gez v2, :cond_0 .line 385 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aput v6, p1, v0 return-void .end method .method private final removeKeyAt(I)V .locals 2 .line 335 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; invoke-static {v0, p1}, Lkotlin/collections/builders/ListBuilderKt;->resetAt([Ljava/lang/Object;I)V .line 336 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I aget v0, v0, p1 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->removeHashAt(I)V .line 337 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I const/4 v1, -0x1 aput v1, v0, p1 .line 338 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 return-void .end method .method private final shouldCompact(I)Z .locals 3 .line 191 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 192 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 195 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result p1 div-int/lit8 p1, p1, 0x4 if-lt v1, p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method private final writeReplace()Ljava/lang/Object; .locals 2 .line 57 iget-boolean v0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z if-eqz v0, :cond_0 .line 58 new-instance v0, Lkotlin/collections/builders/SerializedMap; move-object v1, p0 check-cast v1, Ljava/util/Map; invoke-direct {v0, v1}, Lkotlin/collections/builders/SerializedMap;->(Ljava/util/Map;)V return-object v0 .line 60 :cond_0 new-instance v0, Ljava/io/NotSerializableException; const-string v1, "The map cannot be serialized while it is being built." invoke-direct {v0, v1}, Ljava/io/NotSerializableException;->(Ljava/lang/String;)V throw v0 .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 293 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 295 :goto_0 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->hash(Ljava/lang/Object;)I move-result v0 .line 297 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->maxProbeDistance:I mul-int/lit8 v1, v1, 0x2 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 .line 300 :goto_1 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aget v3, v3, v0 const/4 v4, 0x1 if-gtz v3, :cond_2 .line 302 iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getCapacity$kotlin_stdlib()I move-result v3 if-lt v1, v3, :cond_0 .line 303 invoke-direct {p0, v4}, Lkotlin/collections/builders/MapBuilder;->ensureExtraCapacity(I)V goto :goto_0 .line 306 :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 .line 307 iget-object v5, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; aput-object p1, v5, v1 .line 308 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I aput v0, p1, v1 .line 309 iget-object p1, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aput v3, p1, v0 .line 310 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 311 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 .line 314 :cond_2 iget-object v5, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; add-int/lit8 v6, v3, -0x1 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 p1, v3 return p1 :cond_3 add-int/lit8 v2, v2, 0x1 if-le v2, v1, :cond_4 .line 318 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 321 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 51 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V const/4 v0, 0x1 .line 52 iput-boolean v0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z .line 53 move-object v0, p0 check-cast v0, Ljava/util/Map; return-object v0 .end method .method public final checkIsMutable$kotlin_stdlib()V .locals 1 .line 179 iget-boolean v0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z if-nez v0, :cond_0 return-void :cond_0 new-instance v0, Ljava/lang/UnsupportedOperationException; invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;->()V throw v0 .end method .method public clear()V .locals 6 .line 101 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 103 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 .line 104 iget-object v3, p0, Lkotlin/collections/builders/MapBuilder;->presenceArray:[I aget v4, v3, v1 if-ltz v4, :cond_0 .line 106 iget-object v5, p0, Lkotlin/collections/builders/MapBuilder;->hashArray:[I aput v2, v5, v4 const/4 v4, -0x1 .line 107 aput v4, v3, v1 goto :goto_0 .line 110 :cond_1 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; iget v1, p0, Lkotlin/collections/builders/MapBuilder;->length:I invoke-static {v0, v2, v1}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V .line 111 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 invoke-static {v0, v2, v1}, Lkotlin/collections/builders/ListBuilderKt;->resetRange([Ljava/lang/Object;II)V .line 112 :cond_2 iput v2, p0, Lkotlin/collections/builders/MapBuilder;->size:I .line 113 iput v2, p0, Lkotlin/collections/builders/MapBuilder;->length:I 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 400 invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p1 .line 401 :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2 .line 402 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_1 .line 405 :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 p1, 0x1 return p1 .end method .method public final containsEntry$kotlin_stdlib(Ljava/util/Map$Entry;)Z .locals 2 .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 392 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 p1, 0x0 return p1 .line 394 :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 v0, v1, v0 invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p1 invoke-static {v0, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public containsKey(Ljava/lang/Object;)Z .locals 0 .line 63 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result p1 if-ltz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public containsValue(Ljava/lang/Object;)Z .locals 0 .line 64 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findValue(Ljava/lang/Object;)I move-result p1 if-ltz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .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 460 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 1 .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 v0 return-object v0 .end method .method public equals(Ljava/lang/Object;)Z .locals 1 if-eq p1, p0, :cond_1 .line 145 instance-of v0, p1, Ljava/util/Map; if-eqz v0, :cond_0 .line 146 check-cast p1, Ljava/util/Map; invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->contentEquals(Ljava/util/Map;)Z move-result p1 if-eqz p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method .method public get(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TV;" } .end annotation .line 67 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p1, 0x0 return-object p1 .line 69 :cond_0 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; invoke-static {v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V aget-object p1, v0, p1 return-object p1 .end method .method public final getCapacity$kotlin_stdlib()I .locals 1 .line 175 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysArray:[Ljava/lang/Object; array-length v0, v0 return v0 .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 .line 135 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->entriesView:Lkotlin/collections/builders/MapBuilderEntries; if-nez v0, :cond_0 .line 137 new-instance v0, Lkotlin/collections/builders/MapBuilderEntries; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilderEntries;->(Lkotlin/collections/builders/MapBuilder;)V .line 138 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->entriesView:Lkotlin/collections/builders/MapBuilderEntries; .line 139 check-cast v0, Ljava/util/Set; return-object v0 .line 140 :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 .line 117 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysView:Lkotlin/collections/builders/MapBuilderKeys; if-nez v0, :cond_0 .line 119 new-instance v0, Lkotlin/collections/builders/MapBuilderKeys; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilderKeys;->(Lkotlin/collections/builders/MapBuilder;)V .line 120 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->keysView:Lkotlin/collections/builders/MapBuilderKeys; .line 121 check-cast v0, Ljava/util/Set; goto :goto_0 .line 122 :cond_0 check-cast v0, Ljava/util/Set; :goto_0 return-object v0 .end method .method public getSize()I .locals 1 .line 28 iget v0, p0, Lkotlin/collections/builders/MapBuilder;->size:I return v0 .end method .method public getValues()Ljava/util/Collection; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Collection<", "TV;>;" } .end annotation .line 126 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesView:Lkotlin/collections/builders/MapBuilderValues; if-nez v0, :cond_0 .line 128 new-instance v0, Lkotlin/collections/builders/MapBuilderValues; invoke-direct {v0, p0}, Lkotlin/collections/builders/MapBuilderValues;->(Lkotlin/collections/builders/MapBuilder;)V .line 129 iput-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesView:Lkotlin/collections/builders/MapBuilderValues; .line 130 check-cast v0, Ljava/util/Collection; goto :goto_0 .line 131 :cond_0 check-cast v0, Ljava/util/Collection; :goto_0 return-object v0 .end method .method public hashCode()I .locals 3 .line 151 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->entriesIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$EntriesItr; move-result-object v0 const/4 v1, 0x0 .line 152 :goto_0 invoke-virtual {v0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->hasNext()Z move-result v2 if-eqz v2, :cond_0 .line 153 invoke-virtual {v0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->nextHashCode$kotlin_stdlib()I move-result v2 add-int/2addr v1, v2 goto :goto_0 :cond_0 return v1 .end method .method public isEmpty()Z .locals 1 .line 62 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->size()I move-result v0 if-nez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public final isReadOnly$kotlin_stdlib()Z .locals 1 .line 35 iget-boolean v0, p0, Lkotlin/collections/builders/MapBuilder;->isReadOnly:Z return v0 .end method .method public final bridge keySet()Ljava/util/Set; .locals 1 .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 v0 return-object v0 .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 458 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 2 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)TV;" } .end annotation .line 73 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 74 invoke-virtual {p0, p1}, Lkotlin/collections/builders/MapBuilder;->addKey$kotlin_stdlib(Ljava/lang/Object;)I move-result p1 .line 75 invoke-direct {p0}, Lkotlin/collections/builders/MapBuilder;->allocateValuesArray()[Ljava/lang/Object; move-result-object v0 if-gez p1, :cond_0 neg-int p1, p1 add-int/lit8 p1, p1, -0x1 .line 77 aget-object v1, v0, p1 .line 78 aput-object p2, v0, p1 return-object v1 .line 81 :cond_0 aput-object p2, v0, p1 const/4 p1, 0x0 return-object p1 .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 87 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 88 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 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TV;" } .end annotation .line 92 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 p1, 0x0 return-object p1 .line 94 :cond_0 iget-object v0, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; invoke-static {v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V .line 95 aget-object v1, v0, p1 .line 96 invoke-static {v0, p1}, Lkotlin/collections/builders/ListBuilderKt;->resetAt([Ljava/lang/Object;I)V return-object v1 .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 442 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 443 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 .line 445 :cond_0 iget-object v2, p0, Lkotlin/collections/builders/MapBuilder;->valuesArray:[Ljava/lang/Object; 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 446 :cond_1 invoke-direct {p0, v0}, Lkotlin/collections/builders/MapBuilder;->removeKeyAt(I)V const/4 p1, 0x1 return p1 .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 327 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 328 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findKey(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p1, -0x1 return p1 .line 330 :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 451 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->checkIsMutable$kotlin_stdlib()V .line 452 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->findValue(Ljava/lang/Object;)I move-result p1 if-gez p1, :cond_0 const/4 p1, 0x0 return p1 .line 454 :cond_0 invoke-direct {p0, p1}, Lkotlin/collections/builders/MapBuilder;->removeKeyAt(I)V const/4 p1, 0x1 return p1 .end method .method public final bridge size()I .locals 1 .line 12 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->getSize()I move-result v0 return v0 .end method .method public toString()Ljava/lang/String; .locals 4 .line 159 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 .line 160 const-string v1, "{" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 162 invoke-virtual {p0}, Lkotlin/collections/builders/MapBuilder;->entriesIterator$kotlin_stdlib()Lkotlin/collections/builders/MapBuilder$EntriesItr; move-result-object v1 const/4 v2, 0x0 .line 163 :goto_0 invoke-virtual {v1}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->hasNext()Z move-result v3 if-eqz v3, :cond_1 if-lez v2, :cond_0 .line 164 const-string v3, ", " invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 165 :cond_0 invoke-virtual {v1, v0}, Lkotlin/collections/builders/MapBuilder$EntriesItr;->nextAppendString(Ljava/lang/StringBuilder;)V add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 168 :cond_1 const-string v1, "}" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 169 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "sb.toString()" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object v0 .end method .method public final bridge values()Ljava/util/Collection; .locals 1 .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 v0 return-object v0 .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 459 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