.class public final Landroidx/collection/MutableScatterMap; .super Landroidx/collection/ScatterMap; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/collection/MutableScatterMap$MutableMapWrapper; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Landroidx/collection/ScatterMap<", "TK;TV;>;" } .end annotation .annotation build Lkotlin/jvm/internal/SourceDebugExtension; value = { "SMAP\nScatterMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ScatterMap.kt\nandroidx/collection/MutableScatterMap\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 ScatterMap.kt\nandroidx/collection/ScatterMapKt\n+ 4 _Maps.kt\nkotlin/collections/MapsKt___MapsKt\n+ 5 ScatterMap.kt\nandroidx/collection/ScatterMap\n+ 6 ScatterSet.kt\nandroidx/collection/ScatterSet\n+ 7 ObjectList.kt\nandroidx/collection/ObjectList\n*L\n1#1,1850:1\n1284#1,2:2019\n1288#1,5:2027\n1284#1,2:2058\n1288#1,5:2066\n1284#1,2:2083\n1288#1,5:2091\n1284#1,2:2097\n1288#1,5:2105\n1#2:1851\n1672#3,6:1852\n1826#3:1870\n1688#3:1874\n1605#3,3:1887\n1619#3:1891\n1615#3:1894\n1795#3,3:1899\n1809#3,3:1903\n1733#3:1907\n1721#3:1909\n1715#3:1910\n1728#3:1915\n1818#3:1917\n1605#3,3:1927\n1619#3:1931\n1615#3:1934\n1795#3,3:1939\n1809#3,3:1943\n1733#3:1947\n1721#3:1949\n1715#3:1950\n1728#3:1955\n1818#3:1957\n1826#3:1972\n1688#3:1976\n1826#3:1997\n1688#3:2001\n1672#3,6:2021\n1672#3,6:2032\n1605#3,3:2038\n1615#3:2041\n1619#3:2042\n1795#3,3:2043\n1809#3,3:2046\n1733#3:2049\n1721#3:2050\n1715#3:2051\n1728#3:2052\n1818#3:2053\n1682#3:2054\n1661#3:2055\n1680#3:2056\n1661#3:2057\n1672#3,6:2060\n1795#3,3:2071\n1826#3:2074\n1715#3:2075\n1685#3:2076\n1661#3:2077\n1605#3,3:2078\n1615#3:2081\n1619#3:2082\n1672#3,6:2085\n1661#3:2096\n1672#3,6:2099\n1672#3,6:2110\n1672#3,6:2116\n215#4,2:1858\n391#5,4:1860\n363#5,6:1864\n373#5,3:1871\n376#5,2:1875\n396#5,2:1877\n379#5,6:1879\n398#5:1885\n633#5:1886\n634#5:1890\n636#5,2:1892\n638#5,4:1895\n642#5:1902\n643#5:1906\n644#5:1908\n645#5,4:1911\n651#5:1916\n652#5,8:1918\n633#5:1926\n634#5:1930\n636#5,2:1932\n638#5,4:1935\n642#5:1942\n643#5:1946\n644#5:1948\n645#5,4:1951\n651#5:1956\n652#5,8:1958\n363#5,6:1966\n373#5,3:1973\n376#5,9:1977\n267#6,4:1986\n237#6,7:1990\n248#6,3:1998\n251#6,2:2002\n272#6,2:2004\n254#6,6:2006\n274#6:2012\n305#7,6:2013\n*S KotlinDebug\n*F\n+ 1 ScatterMap.kt\nandroidx/collection/MutableScatterMap\n*L\n1113#1:2019,2\n1113#1:2027,5\n1180#1:2058,2\n1180#1:2066,5\n1254#1:2083,2\n1254#1:2091,5\n1270#1:2097,2\n1270#1:2105,5\n848#1:1852,6\n972#1:1870\n972#1:1874\n1021#1:1887,3\n1021#1:1891\n1021#1:1894\n1021#1:1899,3\n1021#1:1903,3\n1021#1:1907\n1021#1:1909\n1021#1:1910\n1021#1:1915\n1021#1:1917\n1033#1:1927,3\n1033#1:1931\n1033#1:1934\n1033#1:1939,3\n1033#1:1943,3\n1033#1:1947\n1033#1:1949\n1033#1:1950\n1033#1:1955\n1033#1:1957\n1047#1:1972\n1047#1:1976\n1093#1:1997\n1093#1:2001\n1113#1:2021,6\n1129#1:2032,6\n1145#1:2038,3\n1146#1:2041\n1147#1:2042\n1154#1:2043,3\n1155#1:2046,3\n1156#1:2049\n1157#1:2050\n1157#1:2051\n1161#1:2052\n1164#1:2053\n1173#1:2054\n1173#1:2055\n1179#1:2056\n1179#1:2057\n1180#1:2060,6\n1195#1:2071,3\n1196#1:2074\n1198#1:2075\n1249#1:2076\n1249#1:2077\n1251#1:2078,3\n1252#1:2081\n1254#1:2082\n1254#1:2085,6\n1268#1:2096\n1270#1:2099,6\n1285#1:2110,6\n1291#1:2116,6\n963#1:1858,2\n972#1:1860,4\n972#1:1864,6\n972#1:1871,3\n972#1:1875,2\n972#1:1877,2\n972#1:1879,6\n972#1:1885\n1021#1:1886\n1021#1:1890\n1021#1:1892,2\n1021#1:1895,4\n1021#1:1902\n1021#1:1906\n1021#1:1908\n1021#1:1911,4\n1021#1:1916\n1021#1:1918,8\n1033#1:1926\n1033#1:1930\n1033#1:1932,2\n1033#1:1935,4\n1033#1:1942\n1033#1:1946\n1033#1:1948\n1033#1:1951,4\n1033#1:1956\n1033#1:1958,8\n1047#1:1966,6\n1047#1:1973,3\n1047#1:1977,9\n1093#1:1986,4\n1093#1:1990,7\n1093#1:1998,3\n1093#1:2002,2\n1093#1:2004,2\n1093#1:2006,6\n1093#1:2012\n1102#1:2013,6\n*E\n" } .end annotation # instance fields .field private growthLimit:I # direct methods .method public constructor ()V .locals 3 .line 0 const/4 v0, 0x1 const/4 v1, 0x0 const/4 v2, 0x0 invoke-direct {p0, v2, v0, v1}, Landroidx/collection/MutableScatterMap;->(IILkotlin/jvm/internal/DefaultConstructorMarker;)V return-void .end method .method public constructor (I)V .locals 1 const/4 v0, 0x0 .line 815 invoke-direct {p0, v0}, Landroidx/collection/ScatterMap;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V if-ltz p1, :cond_0 .line 821 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result p1 invoke-direct {p0, p1}, Landroidx/collection/MutableScatterMap;->initializeStorage(I)V return-void .line 820 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "Capacity must be a positive value." invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public synthetic constructor (IILkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 0 and-int/lit8 p2, p2, 0x1 if-eqz p2, :cond_0 const/4 p1, 0x6 .line 813 :cond_0 invoke-direct {p0, p1}, Landroidx/collection/MutableScatterMap;->(I)V return-void .end method .method private final adjustStorage()V .locals 6 iget v0, p0, Landroidx/collection/ScatterMap;->_capacity:I const/16 v1, 0x8 if-le v0, v1, :cond_0 iget v0, p0, Landroidx/collection/ScatterMap;->_size:I int-to-long v0, v0 .line 1230 invoke-static {v0, v1}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v0 const-wide/16 v2, 0x20 mul-long/2addr v0, v2 invoke-static {v0, v1}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v0 iget v2, p0, Landroidx/collection/ScatterMap;->_capacity:I int-to-long v2, v2 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 const-wide/16 v4, 0x19 mul-long/2addr v2, v4 invoke-static {v2, v3}, Lkotlin/ULong;->constructor-impl(J)J move-result-wide v2 invoke-static {v0, v1, v2, v3}, Ljava/lang/Long;->compareUnsigned(JJ)I move-result v0 if-gtz v0, :cond_0 iget v0, p0, Landroidx/collection/ScatterMap;->_capacity:I .line 1231 invoke-direct {p0, v0}, Landroidx/collection/MutableScatterMap;->resizeStorage(I)V goto :goto_0 :cond_0 iget v0, p0, Landroidx/collection/ScatterMap;->_capacity:I .line 1233 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->nextCapacity(I)I move-result v0 invoke-direct {p0, v0}, Landroidx/collection/MutableScatterMap;->resizeStorage(I)V :goto_0 return-void .end method .method private final findFirstAvailableSlot(I)I .locals 9 iget v0, p0, Landroidx/collection/ScatterMap;->_capacity:I and-int/2addr p1, v0 const/4 v1, 0x0 :goto_0 iget-object v2, p0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v3, p1, 0x3 and-int/lit8 v4, p1, 0x7 shl-int/lit8 v4, v4, 0x3 .line 1797 aget-wide v5, v2, v3 ushr-long/2addr v5, v4 add-int/lit8 v3, v3, 0x1 aget-wide v7, v2, v3 rsub-int/lit8 v2, v4, 0x40 shl-long v2, v7, v2 int-to-long v7, v4 neg-long v7, v7 const/16 v4, 0x3f shr-long/2addr v7, v4 and-long/2addr v2, v7 or-long/2addr v2, v5 not-long v4, v2 const/4 v6, 0x7 shl-long/2addr v4, v6 and-long/2addr v2, v4 const-wide v4, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v2, v4 const-wide/16 v4, 0x0 cmp-long v4, v2, v4 if-eqz v4, :cond_0 .line 1715 invoke-static {v2, v3}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v1 shr-int/lit8 v1, v1, 0x3 add-int/2addr p1, v1 and-int/2addr p1, v0 return p1 :cond_0 add-int/lit8 v1, v1, 0x8 add-int/2addr p1, v1 and-int/2addr p1, v0 goto :goto_0 .end method .method private final initializeGrowth()V .locals 2 .line 853 invoke-virtual {p0}, Landroidx/collection/ScatterMap;->getCapacity()I move-result v0 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->loadedCapacity(I)I move-result v0 iget v1, p0, Landroidx/collection/ScatterMap;->_size:I sub-int/2addr v0, v1 iput v0, p0, Landroidx/collection/MutableScatterMap;->growthLimit:I return-void .end method .method private final initializeMetadata(I)V .locals 8 if-nez p1, :cond_0 .line 840 sget-object v0, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J goto :goto_0 :cond_0 add-int/lit8 v0, p1, 0xf and-int/lit8 v0, v0, -0x8 shr-int/lit8 v0, v0, 0x3 .line 844 new-array v0, v0, [J const-wide v2, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x6 const/4 v7, 0x0 move-object v1, v0 .line 845 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V :goto_0 iput-object v0, p0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 .line 1676 aget-wide v2, v0, v1 const-wide/16 v4, 0xff shl-long/2addr v4, p1 not-long v6, v4 and-long/2addr v2, v6 or-long/2addr v2, v4 aput-wide v2, v0, v1 .line 849 invoke-direct {p0}, Landroidx/collection/MutableScatterMap;->initializeGrowth()V return-void .end method .method private final initializeStorage(I)V .locals 1 if-lez p1, :cond_0 const/4 v0, 0x7 .line 828 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->normalizeCapacity(I)I move-result p1 invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 iput p1, p0, Landroidx/collection/ScatterMap;->_capacity:I .line 833 invoke-direct {p0, p1}, Landroidx/collection/MutableScatterMap;->initializeMetadata(I)V .line 834 new-array v0, p1, [Ljava/lang/Object; iput-object v0, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 835 new-array p1, p1, [Ljava/lang/Object; iput-object p1, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; return-void .end method .method private final removeDeletedMarkers()V .locals 14 iget-object v0, p0, Landroidx/collection/ScatterMap;->metadata:[J iget v1, p0, Landroidx/collection/ScatterMap;->_capacity:I const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v2, v1, :cond_1 shr-int/lit8 v4, v2, 0x3 .line 1661 aget-wide v5, v0, v4 and-int/lit8 v7, v2, 0x7 shl-int/lit8 v7, v7, 0x3 shr-long/2addr v5, v7 const-wide/16 v8, 0xff and-long/2addr v5, v8 const-wide/16 v10, 0xfe cmp-long v5, v5, v10 if-nez v5, :cond_0 iget-object v5, p0, Landroidx/collection/ScatterMap;->metadata:[J .line 1676 aget-wide v10, v5, v4 shl-long v12, v8, v7 not-long v12, v12 and-long/2addr v10, v12 const-wide/16 v12, 0x80 shl-long v6, v12, v7 or-long/2addr v6, v10 aput-wide v6, v5, v4 iget v4, p0, Landroidx/collection/ScatterMap;->_capacity:I add-int/lit8 v6, v2, -0x7 and-int/2addr v6, v4 and-int/lit8 v4, v4, 0x7 add-int/2addr v6, v4 shr-int/lit8 v4, v6, 0x3 and-int/lit8 v6, v6, 0x7 shl-int/lit8 v6, v6, 0x3 aget-wide v10, v5, v4 shl-long v7, v8, v6 not-long v7, v7 and-long/2addr v7, v10 shl-long v9, v12, v6 or-long v6, v7, v9 aput-wide v6, v5, v4 add-int/lit8 v3, v3, 0x1 :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 iget v0, p0, Landroidx/collection/MutableScatterMap;->growthLimit:I add-int/2addr v0, v3 iput v0, p0, Landroidx/collection/MutableScatterMap;->growthLimit:I return-void .end method .method private final resizeStorage(I)V .locals 21 move-object/from16 v0, p0 iget-object v1, v0, Landroidx/collection/ScatterMap;->metadata:[J iget-object v2, v0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; iget-object v3, v0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; iget v4, v0, Landroidx/collection/ScatterMap;->_capacity:I .line 1243 invoke-direct/range {p0 .. p1}, Landroidx/collection/MutableScatterMap;->initializeStorage(I)V iget-object v5, v0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; iget-object v6, v0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; const/4 v8, 0x0 :goto_0 if-ge v8, v4, :cond_2 shr-int/lit8 v9, v8, 0x3 .line 1661 aget-wide v9, v1, v9 and-int/lit8 v11, v8, 0x7 shl-int/lit8 v11, v11, 0x3 shr-long/2addr v9, v11 const-wide/16 v11, 0xff and-long/2addr v9, v11 const-wide/16 v13, 0x80 cmp-long v9, v9, v13 if-gez v9, :cond_1 .line 1250 aget-object v9, v2, v8 if-eqz v9, :cond_0 .line 1605 invoke-virtual {v9}, Ljava/lang/Object;->hashCode()I move-result v10 goto :goto_1 :cond_0 const/4 v10, 0x0 :goto_1 const v13, -0x3361d2af # -8.293031E7f mul-int/2addr v10, v13 shl-int/lit8 v13, v10, 0x10 xor-int/2addr v10, v13 ushr-int/lit8 v13, v10, 0x7 .line 1252 invoke-direct {v0, v13}, Landroidx/collection/MutableScatterMap;->findFirstAvailableSlot(I)I move-result v13 and-int/lit8 v10, v10, 0x7f int-to-long v14, v10 iget-object v10, v0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v16, v13, 0x3 and-int/lit8 v17, v13, 0x7 shl-int/lit8 v17, v17, 0x3 .line 1676 aget-wide v18, v10, v16 move/from16 v20, v8 shl-long v7, v11, v17 not-long v7, v7 and-long v7, v18, v7 shl-long v17, v14, v17 or-long v7, v7, v17 aput-wide v7, v10, v16 iget v7, v0, Landroidx/collection/ScatterMap;->_capacity:I add-int/lit8 v8, v13, -0x7 and-int/2addr v8, v7 and-int/lit8 v7, v7, 0x7 add-int/2addr v8, v7 shr-int/lit8 v7, v8, 0x3 and-int/lit8 v8, v8, 0x7 shl-int/lit8 v8, v8, 0x3 aget-wide v16, v10, v7 shl-long/2addr v11, v8 not-long v11, v11 and-long v11, v16, v11 shl-long/2addr v14, v8 or-long/2addr v11, v14 aput-wide v11, v10, v7 .line 1255 aput-object v9, v5, v13 .line 1256 aget-object v7, v3, v20 aput-object v7, v6, v13 goto :goto_2 :cond_1 move/from16 v20, v8 :goto_2 add-int/lit8 v8, v20, 0x1 goto :goto_0 :cond_2 return-void .end method .method private final writeMetadata(IJ)V .locals 9 iget-object v0, p0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 v2, p1, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v3, v0, v1 const-wide/16 v5, 0xff shl-long v7, v5, v2 not-long v7, v7 and-long/2addr v3, v7 shl-long v7, p2, v2 or-long v2, v3, v7 aput-wide v2, v0, v1 iget v1, p0, Landroidx/collection/ScatterMap;->_capacity:I add-int/lit8 p1, p1, -0x7 and-int/2addr p1, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr p1, v1 shr-int/lit8 v1, p1, 0x3 and-int/lit8 p1, p1, 0x7 shl-int/lit8 p1, p1, 0x3 .line 1676 aget-wide v2, v0, v1 shl-long v4, v5, p1 not-long v4, v4 and-long/2addr v2, v4 shl-long p1, p2, p1 or-long/2addr p1, v2 aput-wide p1, v0, v1 return-void .end method # virtual methods .method public final asMutableMap()Ljava/util/Map; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "TK;TV;>;" } .end annotation .line 1308 new-instance v0, Landroidx/collection/MutableScatterMap$MutableMapWrapper; invoke-direct {v0, p0}, Landroidx/collection/MutableScatterMap$MutableMapWrapper;->(Landroidx/collection/MutableScatterMap;)V return-object v0 .end method .method public final clear()V .locals 10 const/4 v0, 0x0 iput v0, p0, Landroidx/collection/ScatterMap;->_size:I iget-object v1, p0, Landroidx/collection/ScatterMap;->metadata:[J .line 1127 sget-object v2, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J if-eq v1, v2, :cond_0 const-wide v2, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x6 const/4 v7, 0x0 .line 1128 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V iget-object v1, p0, Landroidx/collection/ScatterMap;->metadata:[J iget v2, p0, Landroidx/collection/ScatterMap;->_capacity:I shr-int/lit8 v3, v2, 0x3 and-int/lit8 v2, v2, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v4, v1, v3 const-wide/16 v6, 0xff shl-long/2addr v6, v2 not-long v8, v6 and-long/2addr v4, v8 or-long/2addr v4, v6 aput-wide v4, v1, v3 :cond_0 iget-object v1, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; iget v2, p0, Landroidx/collection/ScatterMap;->_capacity:I const/4 v3, 0x0 .line 1131 invoke-static {v1, v3, v0, v2}, Lkotlin/collections/ArraysKt;->fill([Ljava/lang/Object;Ljava/lang/Object;II)V iget-object v1, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; iget v2, p0, Landroidx/collection/ScatterMap;->_capacity:I .line 1132 invoke-static {v1, v3, v0, v2}, Lkotlin/collections/ArraysKt;->fill([Ljava/lang/Object;Ljava/lang/Object;II)V .line 1133 invoke-direct {p0}, Landroidx/collection/MutableScatterMap;->initializeGrowth()V return-void .end method .method public final compute(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(TK;", "Lkotlin/jvm/functions/Function2;", ")TV;" } .end annotation const-string v0, "computeBlock" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 874 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->findInsertIndex(Ljava/lang/Object;)I move-result v0 if-gez v0, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 if-eqz v1, :cond_1 const/4 v2, 0x0 goto :goto_1 :cond_1 iget-object v2, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 880 aget-object v2, v2, v0 .line 878 :goto_1 invoke-interface {p2, p1, v2}, Lkotlin/jvm/functions/Function2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p2 if-eqz v1, :cond_2 not-int v0, v0 iget-object v1, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 886 aput-object p1, v1, v0 iget-object p1, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 887 aput-object p2, p1, v0 goto :goto_2 :cond_2 iget-object p1, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 889 aput-object p2, p1, v0 :goto_2 return-object p2 .end method .method public final findInsertIndex(Ljava/lang/Object;)I .locals 20 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)I" } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p1 if-eqz v1, :cond_0 .line 1605 invoke-virtual/range {p1 .. p1}, Ljava/lang/Object;->hashCode()I move-result v3 goto :goto_0 :cond_0 const/4 v3, 0x0 :goto_0 const v4, -0x3361d2af # -8.293031E7f mul-int/2addr v3, v4 shl-int/lit8 v4, v3, 0x10 xor-int/2addr v3, v4 ushr-int/lit8 v4, v3, 0x7 and-int/lit8 v3, v3, 0x7f iget v5, v0, Landroidx/collection/ScatterMap;->_capacity:I and-int v6, v4, v5 const/4 v7, 0x0 :goto_1 iget-object v8, v0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v9, v6, 0x3 and-int/lit8 v10, v6, 0x7 shl-int/lit8 v10, v10, 0x3 .line 1797 aget-wide v11, v8, v9 ushr-long/2addr v11, v10 const/4 v13, 0x1 add-int/2addr v9, v13 aget-wide v14, v8, v9 rsub-int/lit8 v8, v10, 0x40 shl-long v8, v14, v8 int-to-long v14, v10 neg-long v14, v14 const/16 v10, 0x3f shr-long/2addr v14, v10 and-long/2addr v8, v14 or-long/2addr v8, v11 int-to-long v10, v3 const-wide v14, 0x101010101010101L mul-long v16, v10, v14 move/from16 v18, v3 xor-long v2, v8, v16 sub-long v14, v2, v14 not-long v2, v2 and-long/2addr v2, v14 const-wide v14, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v2, v14 :goto_2 const-wide/16 v16, 0x0 cmp-long v19, v2, v16 if-eqz v19, :cond_2 .line 1715 invoke-static {v2, v3}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v16 shr-int/lit8 v16, v16, 0x3 add-int v16, v6, v16 and-int v16, v16, v5 iget-object v12, v0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 1158 aget-object v12, v12, v16 invoke-static {v12, v1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v12 if-eqz v12, :cond_1 return v16 :cond_1 const-wide/16 v16, 0x1 sub-long v16, v2, v16 and-long v2, v2, v16 goto :goto_2 :cond_2 not-long v2, v8 const/4 v12, 0x6 shl-long/2addr v2, v12 and-long/2addr v2, v8 and-long/2addr v2, v14 cmp-long v2, v2, v16 if-eqz v2, :cond_6 .line 1172 invoke-direct {v0, v4}, Landroidx/collection/MutableScatterMap;->findFirstAvailableSlot(I)I move-result v1 iget v2, v0, Landroidx/collection/MutableScatterMap;->growthLimit:I const-wide/16 v5, 0xff if-nez v2, :cond_4 iget-object v2, v0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v3, v1, 0x3 .line 1661 aget-wide v7, v2, v3 and-int/lit8 v2, v1, 0x7 shl-int/lit8 v2, v2, 0x3 shr-long v2, v7, v2 and-long/2addr v2, v5 const-wide/16 v7, 0xfe cmp-long v2, v2, v7 if-nez v2, :cond_3 goto :goto_3 .line 1174 :cond_3 invoke-direct/range {p0 .. p0}, Landroidx/collection/MutableScatterMap;->adjustStorage()V .line 1175 invoke-direct {v0, v4}, Landroidx/collection/MutableScatterMap;->findFirstAvailableSlot(I)I move-result v1 :cond_4 :goto_3 iget v2, v0, Landroidx/collection/ScatterMap;->_size:I add-int/2addr v2, v13 iput v2, v0, Landroidx/collection/ScatterMap;->_size:I iget v2, v0, Landroidx/collection/MutableScatterMap;->growthLimit:I iget-object v3, v0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v4, v1, 0x3 .line 1661 aget-wide v7, v3, v4 and-int/lit8 v9, v1, 0x7 shl-int/lit8 v9, v9, 0x3 shr-long v14, v7, v9 and-long/2addr v14, v5 const-wide/16 v16, 0x80 cmp-long v12, v14, v16 if-nez v12, :cond_5 move/from16 v19, v13 goto :goto_4 :cond_5 const/16 v19, 0x0 :goto_4 sub-int v2, v2, v19 iput v2, v0, Landroidx/collection/MutableScatterMap;->growthLimit:I shl-long v12, v5, v9 not-long v12, v12 and-long/2addr v7, v12 shl-long v12, v10, v9 or-long/2addr v7, v12 .line 1676 aput-wide v7, v3, v4 iget v2, v0, Landroidx/collection/ScatterMap;->_capacity:I add-int/lit8 v4, v1, -0x7 and-int/2addr v4, v2 and-int/lit8 v2, v2, 0x7 add-int/2addr v4, v2 shr-int/lit8 v2, v4, 0x3 and-int/lit8 v4, v4, 0x7 shl-int/lit8 v4, v4, 0x3 aget-wide v7, v3, v2 shl-long/2addr v5, v4 not-long v5, v5 and-long/2addr v5, v7 shl-long v7, v10, v4 or-long v4, v5, v7 aput-wide v4, v3, v2 not-int v1, v1 return v1 :cond_6 add-int/lit8 v7, v7, 0x8 add-int/2addr v6, v7 and-int/2addr v6, v5 move/from16 v3, v18 goto/16 :goto_1 .end method .method public final getOrPut(Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TK;", "Lkotlin/jvm/functions/Function0;", ")TV;" } .end annotation const-string v0, "defaultValue" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 863 invoke-virtual {p0, p1}, Landroidx/collection/ScatterMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-nez v0, :cond_0 invoke-interface {p2}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; move-result-object v0 invoke-virtual {p0, p1, v0}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V :cond_0 return-object v0 .end method .method public final minusAssign(Landroidx/collection/ObjectList;)V .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/collection/ObjectList<", "TK;>;)V" } .end annotation const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 306 iget-object v0, p1, Landroidx/collection/ObjectList;->content:[Ljava/lang/Object; .line 307 iget p1, p1, Landroidx/collection/ObjectList;->_size:I const/4 v1, 0x0 :goto_0 if-ge v1, p1, :cond_0 .line 308 aget-object v2, v0, v1 .line 1103 invoke-virtual {p0, v2}, Landroidx/collection/MutableScatterMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final minusAssign(Landroidx/collection/ScatterSet;)V .locals 13 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/collection/ScatterSet<", "TK;>;)V" } .end annotation const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 268 iget-object v0, p1, Landroidx/collection/ScatterSet;->elements:[Ljava/lang/Object; .line 238 iget-object p1, p1, Landroidx/collection/ScatterSet;->metadata:[J .line 239 array-length v1, p1 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 242 :goto_0 aget-wide v4, p1, v3 not-long v6, v4 const/4 v8, 0x7 shl-long/2addr v6, v8 and-long/2addr v6, v4 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 cmp-long v6, v6, v8 if-eqz v6, :cond_2 sub-int v6, v3, v1 not-int v6, v6 ushr-int/lit8 v6, v6, 0x1f const/16 v7, 0x8 rsub-int/lit8 v6, v6, 0x8 move v8, v2 :goto_1 if-ge v8, v6, :cond_1 const-wide/16 v9, 0xff and-long/2addr v9, v4 const-wide/16 v11, 0x80 cmp-long v9, v9, v11 if-gez v9, :cond_0 shl-int/lit8 v9, v3, 0x3 add-int/2addr v9, v8 .line 272 aget-object v9, v0, v9 .line 1094 invoke-virtual {p0, v9}, Landroidx/collection/MutableScatterMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; :cond_0 shr-long/2addr v4, v7 add-int/lit8 v8, v8, 0x1 goto :goto_1 :cond_1 if-ne v6, v7, :cond_3 :cond_2 if-eq v3, v1, :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final minusAssign(Ljava/lang/Iterable;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+TK;>;)V" } .end annotation const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 1075 invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 .line 1076 invoke-virtual {p0, v0}, Landroidx/collection/MutableScatterMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_0 return-void .end method .method public final minusAssign(Ljava/lang/Object;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)V" } .end annotation .line 1059 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; return-void .end method .method public final minusAssign(Lkotlin/sequences/Sequence;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/sequences/Sequence;", ")V" } .end annotation const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 1084 invoke-interface {p1}, Lkotlin/sequences/Sequence;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 .line 1085 invoke-virtual {p0, v0}, Landroidx/collection/MutableScatterMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :cond_0 return-void .end method .method public final minusAssign([Ljava/lang/Object;)V .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "([TK;)V" } .end annotation const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 1066 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 aget-object v2, p1, v1 .line 1067 invoke-virtual {p0, v2}, Landroidx/collection/MutableScatterMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final plusAssign(Landroidx/collection/ScatterMap;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/collection/ScatterMap<", "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 1013 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->putAll(Landroidx/collection/ScatterMap;)V return-void .end method .method public final plusAssign(Ljava/lang/Iterable;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+", "Lkotlin/Pair;", ">;)V" } .end annotation const-string v0, "pairs" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 997 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->putAll(Ljava/lang/Iterable;)V return-void .end method .method public final plusAssign(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 1008 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->putAll(Ljava/util/Map;)V return-void .end method .method public final plusAssign(Lkotlin/Pair;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/Pair;", ")V" } .end annotation const-string v0, "pair" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 982 invoke-virtual {p1}, Lkotlin/Pair;->getFirst()Ljava/lang/Object; move-result-object v0 invoke-virtual {p1}, Lkotlin/Pair;->getSecond()Ljava/lang/Object; move-result-object p1 invoke-virtual {p0, v0, p1}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V return-void .end method .method public final plusAssign(Lkotlin/sequences/Sequence;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/sequences/Sequence;", ")V" } .end annotation const-string v0, "pairs" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 1003 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->putAll(Lkotlin/sequences/Sequence;)V return-void .end method .method public final plusAssign([Lkotlin/Pair;)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "([", "Lkotlin/Pair;", ")V" } .end annotation const-string v0, "pairs" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 991 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->putAll([Lkotlin/Pair;)V return-void .end method .method public final put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)TV;" } .end annotation .line 918 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->findInsertIndex(Ljava/lang/Object;)I move-result v0 if-gez v0, :cond_0 not-int v0, v0 :cond_0 iget-object v1, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 921 aget-object v2, v1, v0 iget-object v3, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 922 aput-object p1, v3, v0 .line 923 aput-object p2, v1, v0 return-object v2 .end method .method public final putAll(Landroidx/collection/ScatterMap;)V .locals 14 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/collection/ScatterMap<", "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 391 iget-object v0, p1, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 392 iget-object v1, p1, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 363 iget-object p1, p1, Landroidx/collection/ScatterMap;->metadata:[J .line 364 array-length v2, p1 add-int/lit8 v2, v2, -0x2 if-ltz v2, :cond_3 const/4 v3, 0x0 move v4, v3 .line 367 :goto_0 aget-wide v5, p1, v4 not-long v7, v5 const/4 v9, 0x7 shl-long/2addr v7, v9 and-long/2addr v7, v5 const-wide v9, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v7, v9 cmp-long v7, v7, v9 if-eqz v7, :cond_2 sub-int v7, v4, v2 not-int v7, v7 ushr-int/lit8 v7, v7, 0x1f const/16 v8, 0x8 rsub-int/lit8 v7, v7, 0x8 move v9, v3 :goto_1 if-ge v9, v7, :cond_1 const-wide/16 v10, 0xff and-long/2addr v10, v5 const-wide/16 v12, 0x80 cmp-long v10, v10, v12 if-gez v10, :cond_0 shl-int/lit8 v10, v4, 0x3 add-int/2addr v10, v9 .line 396 aget-object v11, v0, v10 aget-object v10, v1, v10 .line 973 invoke-virtual {p0, v11, v10}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V :cond_0 shr-long/2addr v5, v8 add-int/lit8 v9, v9, 0x1 goto :goto_1 :cond_1 if-ne v7, v8, :cond_3 :cond_2 if-eq v4, v2, :cond_3 add-int/lit8 v4, v4, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final putAll(Ljava/lang/Iterable;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+", "Lkotlin/Pair;", ">;)V" } .end annotation const-string v0, "pairs" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 944 invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Lkotlin/Pair; invoke-virtual {v0}, Lkotlin/Pair;->component1()Ljava/lang/Object; move-result-object v1 invoke-virtual {v0}, Lkotlin/Pair;->component2()Ljava/lang/Object; move-result-object v0 .line 945 invoke-virtual {p0, v1, v0}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V goto :goto_0 :cond_0 return-void .end method .method public final putAll(Ljava/util/Map;)V .locals 2 .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 215 invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set; move-result-object p1 invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map$Entry; .line 963 invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v1 invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v0 .line 964 invoke-virtual {p0, v1, v0}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V goto :goto_0 :cond_0 return-void .end method .method public final putAll(Lkotlin/sequences/Sequence;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/sequences/Sequence;", ")V" } .end annotation const-string v0, "pairs" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 954 invoke-interface {p1}, Lkotlin/sequences/Sequence;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Lkotlin/Pair; invoke-virtual {v0}, Lkotlin/Pair;->component1()Ljava/lang/Object; move-result-object v1 invoke-virtual {v0}, Lkotlin/Pair;->component2()Ljava/lang/Object; move-result-object v0 .line 955 invoke-virtual {p0, v1, v0}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V goto :goto_0 :cond_0 return-void .end method .method public final putAll([Lkotlin/Pair;)V .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "([", "Lkotlin/Pair;", ")V" } .end annotation const-string v0, "pairs" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 934 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 aget-object v2, p1, v1 invoke-virtual {v2}, Lkotlin/Pair;->component1()Ljava/lang/Object; move-result-object v3 invoke-virtual {v2}, Lkotlin/Pair;->component2()Ljava/lang/Object; move-result-object v2 .line 935 invoke-virtual {p0, v3, v2}, Landroidx/collection/MutableScatterMap;->set(Ljava/lang/Object;Ljava/lang/Object;)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final remove(Ljava/lang/Object;)Ljava/lang/Object; .locals 13 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)TV;" } .end annotation const/4 v0, 0x0 if-eqz p1, :cond_0 .line 1605 invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I move-result v1 goto :goto_0 :cond_0 move v1, v0 :goto_0 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 and-int/lit8 v2, v1, 0x7f iget v3, p0, Landroidx/collection/ScatterMap;->_capacity:I ushr-int/lit8 v1, v1, 0x7 :goto_1 and-int/2addr v1, v3 iget-object v4, p0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v5, v1, 0x3 and-int/lit8 v6, v1, 0x7 shl-int/lit8 v6, v6, 0x3 .line 1797 aget-wide v7, v4, v5 ushr-long/2addr v7, v6 add-int/lit8 v5, v5, 0x1 aget-wide v9, v4, v5 rsub-int/lit8 v4, v6, 0x40 shl-long v4, v9, v4 int-to-long v9, v6 neg-long v9, v9 const/16 v6, 0x3f shr-long/2addr v9, v6 and-long/2addr v4, v9 or-long/2addr v4, v7 int-to-long v6, v2 const-wide v8, 0x101010101010101L mul-long/2addr v6, v8 xor-long/2addr v6, v4 sub-long v8, v6, v8 not-long v6, v6 and-long/2addr v6, v8 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 :goto_2 const-wide/16 v10, 0x0 cmp-long v12, v6, v10 if-eqz v12, :cond_2 .line 1715 invoke-static {v6, v7}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v10 shr-int/lit8 v10, v10, 0x3 add-int/2addr v10, v1 and-int/2addr v10, v3 iget-object v11, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 645 aget-object v11, v11, v10 invoke-static {v11, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v11 if-eqz v11, :cond_1 goto :goto_3 :cond_1 const-wide/16 v10, 0x1 sub-long v10, v6, v10 and-long/2addr v6, v10 goto :goto_2 :cond_2 not-long v6, v4 const/4 v12, 0x6 shl-long/2addr v6, v12 and-long/2addr v4, v6 and-long/2addr v4, v8 cmp-long v4, v4, v10 if-eqz v4, :cond_4 const/4 v10, -0x1 :goto_3 if-ltz v10, :cond_3 .line 1023 invoke-virtual {p0, v10}, Landroidx/collection/MutableScatterMap;->removeValueAt(I)Ljava/lang/Object; move-result-object p1 return-object p1 :cond_3 const/4 p1, 0x0 return-object p1 :cond_4 add-int/lit8 v0, v0, 0x8 add-int/2addr v1, v0 goto :goto_1 .end method .method public final remove(Ljava/lang/Object;Ljava/lang/Object;)Z .locals 17 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)Z" } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p1 const/4 v2, 0x0 if-eqz v1, :cond_0 .line 1605 invoke-virtual/range {p1 .. p1}, Ljava/lang/Object;->hashCode()I move-result v3 goto :goto_0 :cond_0 move v3, v2 :goto_0 const v4, -0x3361d2af # -8.293031E7f mul-int/2addr v3, v4 shl-int/lit8 v4, v3, 0x10 xor-int/2addr v3, v4 and-int/lit8 v4, v3, 0x7f iget v5, v0, Landroidx/collection/ScatterMap;->_capacity:I ushr-int/lit8 v3, v3, 0x7 and-int/2addr v3, v5 move v6, v2 :goto_1 iget-object v7, v0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v8, v3, 0x3 and-int/lit8 v9, v3, 0x7 shl-int/lit8 v9, v9, 0x3 .line 1797 aget-wide v10, v7, v8 ushr-long/2addr v10, v9 const/4 v12, 0x1 add-int/2addr v8, v12 aget-wide v13, v7, v8 rsub-int/lit8 v7, v9, 0x40 shl-long v7, v13, v7 int-to-long v13, v9 neg-long v13, v13 const/16 v9, 0x3f shr-long/2addr v13, v9 and-long/2addr v7, v13 or-long/2addr v7, v10 int-to-long v9, v4 const-wide v13, 0x101010101010101L mul-long/2addr v9, v13 xor-long/2addr v9, v7 sub-long v13, v9, v13 not-long v9, v9 and-long/2addr v9, v13 const-wide v13, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v9, v13 :goto_2 const-wide/16 v15, 0x0 cmp-long v11, v9, v15 if-eqz v11, :cond_2 .line 1715 invoke-static {v9, v10}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v11 shr-int/lit8 v11, v11, 0x3 add-int/2addr v11, v3 and-int/2addr v11, v5 iget-object v15, v0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 645 aget-object v15, v15, v11 invoke-static {v15, v1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v15 if-eqz v15, :cond_1 goto :goto_3 :cond_1 const-wide/16 v15, 0x1 sub-long v15, v9, v15 and-long/2addr v9, v15 goto :goto_2 :cond_2 not-long v9, v7 const/4 v11, 0x6 shl-long/2addr v9, v11 and-long/2addr v7, v9 and-long/2addr v7, v13 cmp-long v7, v7, v15 if-eqz v7, :cond_4 const/4 v11, -0x1 :goto_3 if-ltz v11, :cond_3 iget-object v1, v0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 1035 aget-object v1, v1, v11 move-object/from16 v7, p2 invoke-static {v1, v7}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_3 .line 1036 invoke-virtual {v0, v11}, Landroidx/collection/MutableScatterMap;->removeValueAt(I)Ljava/lang/Object; return v12 :cond_3 return v2 :cond_4 move-object/from16 v7, p2 add-int/lit8 v6, v6, 0x8 add-int/2addr v3, v6 and-int/2addr v3, v5 goto :goto_1 .end method .method public final removeIf(Lkotlin/jvm/functions/Function2;)V .locals 13 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lkotlin/jvm/functions/Function2;", ")V" } .end annotation const-string v0, "predicate" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Landroidx/collection/ScatterMap;->metadata:[J .line 364 array-length v1, v0 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 367 :goto_0 aget-wide v4, v0, v3 not-long v6, v4 const/4 v8, 0x7 shl-long/2addr v6, v8 and-long/2addr v6, v4 const-wide v8, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v6, v8 cmp-long v6, v6, v8 if-eqz v6, :cond_2 sub-int v6, v3, v1 not-int v6, v6 ushr-int/lit8 v6, v6, 0x1f const/16 v7, 0x8 rsub-int/lit8 v6, v6, 0x8 move v8, v2 :goto_1 if-ge v8, v6, :cond_1 const-wide/16 v9, 0xff and-long/2addr v9, v4 const-wide/16 v11, 0x80 cmp-long v9, v9, v11 if-gez v9, :cond_0 shl-int/lit8 v9, v3, 0x3 add-int/2addr v9, v8 iget-object v10, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 1049 aget-object v10, v10, v9 iget-object v11, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; aget-object v11, v11, v9 invoke-interface {p1, v10, v11}, Lkotlin/jvm/functions/Function2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v10 check-cast v10, Ljava/lang/Boolean; invoke-virtual {v10}, Ljava/lang/Boolean;->booleanValue()Z move-result v10 if-eqz v10, :cond_0 .line 1050 invoke-virtual {p0, v9}, Landroidx/collection/MutableScatterMap;->removeValueAt(I)Ljava/lang/Object; :cond_0 shr-long/2addr v4, v7 add-int/lit8 v8, v8, 0x1 goto :goto_1 :cond_1 if-ne v6, v7, :cond_3 :cond_2 if-eq v3, v1, :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public final removeValueAt(I)Ljava/lang/Object; .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(I)TV;" } .end annotation iget v0, p0, Landroidx/collection/ScatterMap;->_size:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Landroidx/collection/ScatterMap;->_size:I iget-object v0, p0, Landroidx/collection/ScatterMap;->metadata:[J shr-int/lit8 v1, p1, 0x3 and-int/lit8 v2, p1, 0x7 shl-int/lit8 v2, v2, 0x3 .line 1676 aget-wide v3, v0, v1 const-wide/16 v5, 0xff shl-long v7, v5, v2 not-long v7, v7 and-long/2addr v3, v7 const-wide/16 v7, 0xfe shl-long v9, v7, v2 or-long v2, v3, v9 aput-wide v2, v0, v1 iget v1, p0, Landroidx/collection/ScatterMap;->_capacity:I add-int/lit8 v2, p1, -0x7 and-int/2addr v2, v1 and-int/lit8 v1, v1, 0x7 add-int/2addr v2, v1 shr-int/lit8 v1, v2, 0x3 and-int/lit8 v2, v2, 0x7 shl-int/lit8 v2, v2, 0x3 aget-wide v3, v0, v1 shl-long/2addr v5, v2 not-long v5, v5 and-long/2addr v3, v5 shl-long v5, v7, v2 or-long v2, v3, v5 aput-wide v2, v0, v1 iget-object v0, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; const/4 v1, 0x0 .line 1114 aput-object v1, v0, p1 iget-object v0, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 1115 aget-object v2, v0, p1 .line 1116 aput-object v1, v0, p1 return-object v2 .end method .method public final set(Ljava/lang/Object;Ljava/lang/Object;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)V" } .end annotation .line 902 invoke-virtual {p0, p1}, Landroidx/collection/MutableScatterMap;->findInsertIndex(Ljava/lang/Object;)I move-result v0 if-gez v0, :cond_0 not-int v0, v0 :cond_0 iget-object v1, p0, Landroidx/collection/ScatterMap;->keys:[Ljava/lang/Object; .line 905 aput-object p1, v1, v0 iget-object p1, p0, Landroidx/collection/ScatterMap;->values:[Ljava/lang/Object; .line 906 aput-object p2, p1, v0 return-void .end method .method public final trim()I .locals 2 iget v0, p0, Landroidx/collection/ScatterMap;->_capacity:I iget v1, p0, Landroidx/collection/ScatterMap;->_size:I .line 1214 invoke-static {v1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result v1 invoke-static {v1}, Landroidx/collection/ScatterMapKt;->normalizeCapacity(I)I move-result v1 if-ge v1, v0, :cond_0 .line 1216 invoke-direct {p0, v1}, Landroidx/collection/MutableScatterMap;->resizeStorage(I)V iget v1, p0, Landroidx/collection/ScatterMap;->_capacity:I sub-int/2addr v0, v1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method