.class public final Landroidx/collection/MutableIntLongMap; .super Landroidx/collection/IntLongMap; .source "SourceFile" # annotations .annotation build Lkotlin/jvm/internal/SourceDebugExtension; value = { "SMAP\nIntLongMap.kt\nKotlin\n*S Kotlin\n*F\n+ 1 IntLongMap.kt\nandroidx/collection/MutableIntLongMap\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 ScatterMap.kt\nandroidx/collection/ScatterMapKt\n+ 4 IntLongMap.kt\nandroidx/collection/IntLongMap\n+ 5 IntSet.kt\nandroidx/collection/IntSet\n+ 6 IntList.kt\nandroidx/collection/IntList\n+ 7 IntSet.kt\nandroidx/collection/IntSetKt\n*L\n1#1,1047:1\n1037#1,2:1134\n1041#1,5:1142\n1037#1,2:1173\n1041#1,5:1181\n1037#1,2:1198\n1041#1,5:1206\n1037#1,2:1212\n1041#1,5:1220\n1#2:1048\n1672#3,6:1049\n1826#3:1065\n1688#3:1069\n1826#3:1087\n1688#3:1091\n1826#3:1112\n1688#3:1116\n1672#3,6:1136\n1672#3,6:1147\n1615#3:1156\n1619#3:1157\n1795#3,3:1158\n1809#3,3:1161\n1733#3:1164\n1721#3:1165\n1715#3:1166\n1728#3:1167\n1818#3:1168\n1682#3:1169\n1661#3:1170\n1680#3:1171\n1661#3:1172\n1672#3,6:1175\n1795#3,3:1186\n1826#3:1189\n1715#3:1190\n1685#3:1191\n1661#3:1192\n1615#3:1196\n1619#3:1197\n1672#3,6:1200\n1661#3:1211\n1672#3,6:1214\n1672#3,6:1225\n1672#3,6:1231\n385#4,4:1055\n357#4,6:1059\n367#4,3:1066\n370#4,2:1070\n389#4,2:1072\n373#4,6:1074\n391#4:1080\n357#4,6:1081\n367#4,3:1088\n370#4,9:1092\n262#5,4:1101\n232#5,7:1105\n243#5,3:1113\n246#5,2:1117\n266#5,2:1119\n249#5,6:1121\n268#5:1127\n253#6,6:1128\n849#7,3:1153\n849#7,3:1193\n*S KotlinDebug\n*F\n+ 1 IntLongMap.kt\nandroidx/collection/MutableIntLongMap\n*L\n875#1:1134,2\n875#1:1142,5\n933#1:1173,2\n933#1:1181,5\n1007#1:1198,2\n1007#1:1206,5\n1023#1:1212,2\n1023#1:1220,5\n711#1:1049,6\n789#1:1065\n789#1:1069\n828#1:1087\n828#1:1091\n855#1:1112\n855#1:1116\n875#1:1136,6\n885#1:1147,6\n899#1:1156\n900#1:1157\n907#1:1158,3\n908#1:1161,3\n909#1:1164\n910#1:1165\n910#1:1166\n914#1:1167\n917#1:1168\n926#1:1169\n926#1:1170\n932#1:1171\n932#1:1172\n933#1:1175,6\n948#1:1186,3\n949#1:1189\n951#1:1190\n1002#1:1191\n1002#1:1192\n1005#1:1196\n1007#1:1197\n1007#1:1200,6\n1021#1:1211\n1023#1:1214,6\n1038#1:1225,6\n1044#1:1231,6\n789#1:1055,4\n789#1:1059,6\n789#1:1066,3\n789#1:1070,2\n789#1:1072,2\n789#1:1074,6\n789#1:1080\n828#1:1081,6\n828#1:1088,3\n828#1:1092,9\n855#1:1101,4\n855#1:1105,7\n855#1:1113,3\n855#1:1117,2\n855#1:1119,2\n855#1:1121,6\n855#1:1127\n864#1:1128,6\n898#1:1153,3\n1004#1:1193,3\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/MutableIntLongMap;->(IILkotlin/jvm/internal/DefaultConstructorMarker;)V return-void .end method .method public constructor (I)V .locals 1 const/4 v0, 0x0 .line 678 invoke-direct {p0, v0}, Landroidx/collection/IntLongMap;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V if-ltz p1, :cond_0 .line 684 invoke-static {p1}, Landroidx/collection/ScatterMapKt;->unloadedCapacity(I)I move-result p1 invoke-direct {p0, p1}, Landroidx/collection/MutableIntLongMap;->initializeStorage(I)V return-void .line 683 :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 676 :cond_0 invoke-direct {p0, p1}, Landroidx/collection/MutableIntLongMap;->(I)V return-void .end method .method private final adjustStorage()V .locals 6 iget v0, p0, Landroidx/collection/IntLongMap;->_capacity:I const/16 v1, 0x8 if-le v0, v1, :cond_0 iget v0, p0, Landroidx/collection/IntLongMap;->_size:I int-to-long v0, v0 .line 983 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/IntLongMap;->_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 .line 984 invoke-direct {p0}, Landroidx/collection/MutableIntLongMap;->removeDeletedMarkers()V goto :goto_0 :cond_0 iget v0, p0, Landroidx/collection/IntLongMap;->_capacity:I .line 986 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->nextCapacity(I)I move-result v0 invoke-direct {p0, v0}, Landroidx/collection/MutableIntLongMap;->resizeStorage(I)V :goto_0 return-void .end method .method private final findFirstAvailableSlot(I)I .locals 9 iget v0, p0, Landroidx/collection/IntLongMap;->_capacity:I and-int/2addr p1, v0 const/4 v1, 0x0 :goto_0 iget-object v2, p0, Landroidx/collection/IntLongMap;->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 findInsertIndex(I)I .locals 19 move-object/from16 v0, p0 .line 849 invoke-static/range {p1 .. p1}, Ljava/lang/Integer;->hashCode(I)I move-result v1 const v2, -0x3361d2af # -8.293031E7f mul-int/2addr v1, v2 shl-int/lit8 v2, v1, 0x10 xor-int/2addr v1, v2 ushr-int/lit8 v2, v1, 0x7 and-int/lit8 v1, v1, 0x7f iget v3, v0, Landroidx/collection/IntLongMap;->_capacity:I and-int v4, v2, v3 const/4 v6, 0x0 :goto_0 iget-object v7, v0, Landroidx/collection/IntLongMap;->metadata:[J shr-int/lit8 v8, v4, 0x3 and-int/lit8 v9, v4, 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, v1 const-wide v13, 0x101010101010101L mul-long v15, v9, v13 move/from16 v17, v6 xor-long v5, v7, v15 sub-long v13, v5, v13 not-long v5, v5 and-long/2addr v5, v13 const-wide v13, -0x7f7f7f7f7f7f7f80L # -2.937446524422997E-306 and-long/2addr v5, v13 :goto_1 const-wide/16 v15, 0x0 cmp-long v18, v5, v15 if-eqz v18, :cond_1 .line 1715 invoke-static {v5, v6}, Ljava/lang/Long;->numberOfTrailingZeros(J)I move-result v15 shr-int/lit8 v15, v15, 0x3 add-int/2addr v15, v4 and-int/2addr v15, v3 iget-object v11, v0, Landroidx/collection/IntLongMap;->keys:[I .line 911 aget v11, v11, v15 move/from16 v12, p1 if-ne v11, v12, :cond_0 return v15 :cond_0 const-wide/16 v15, 0x1 sub-long v15, v5, v15 and-long/2addr v5, v15 const/4 v12, 0x1 goto :goto_1 :cond_1 move/from16 v12, p1 not-long v5, v7 const/4 v11, 0x6 shl-long/2addr v5, v11 and-long/2addr v5, v7 and-long/2addr v5, v13 cmp-long v5, v5, v15 if-eqz v5, :cond_5 .line 925 invoke-direct {v0, v2}, Landroidx/collection/MutableIntLongMap;->findFirstAvailableSlot(I)I move-result v1 iget v3, v0, Landroidx/collection/MutableIntLongMap;->growthLimit:I const-wide/16 v4, 0xff if-nez v3, :cond_3 iget-object v3, v0, Landroidx/collection/IntLongMap;->metadata:[J shr-int/lit8 v6, v1, 0x3 .line 1661 aget-wide v6, v3, v6 and-int/lit8 v3, v1, 0x7 shl-int/lit8 v3, v3, 0x3 shr-long/2addr v6, v3 and-long/2addr v6, v4 const-wide/16 v11, 0xfe cmp-long v3, v6, v11 if-nez v3, :cond_2 goto :goto_2 .line 927 :cond_2 invoke-direct/range {p0 .. p0}, Landroidx/collection/MutableIntLongMap;->adjustStorage()V .line 928 invoke-direct {v0, v2}, Landroidx/collection/MutableIntLongMap;->findFirstAvailableSlot(I)I move-result v1 :cond_3 :goto_2 iget v2, v0, Landroidx/collection/IntLongMap;->_size:I const/4 v3, 0x1 add-int/2addr v2, v3 iput v2, v0, Landroidx/collection/IntLongMap;->_size:I iget v2, v0, Landroidx/collection/MutableIntLongMap;->growthLimit:I iget-object v6, v0, Landroidx/collection/IntLongMap;->metadata:[J shr-int/lit8 v7, v1, 0x3 .line 1661 aget-wide v11, v6, v7 and-int/lit8 v8, v1, 0x7 shl-int/lit8 v8, v8, 0x3 shr-long v13, v11, v8 and-long/2addr v13, v4 const-wide/16 v15, 0x80 cmp-long v13, v13, v15 if-nez v13, :cond_4 move/from16 v18, v3 goto :goto_3 :cond_4 const/16 v18, 0x0 :goto_3 sub-int v2, v2, v18 iput v2, v0, Landroidx/collection/MutableIntLongMap;->growthLimit:I shl-long v2, v4, v8 not-long v2, v2 and-long/2addr v2, v11 shl-long v11, v9, v8 or-long/2addr v2, v11 .line 1676 aput-wide v2, v6, v7 iget v2, v0, Landroidx/collection/IntLongMap;->_capacity:I add-int/lit8 v3, v1, -0x7 and-int/2addr v3, v2 and-int/lit8 v2, v2, 0x7 add-int/2addr v3, v2 shr-int/lit8 v2, v3, 0x3 and-int/lit8 v3, v3, 0x7 shl-int/lit8 v3, v3, 0x3 aget-wide v7, v6, v2 shl-long/2addr v4, v3 not-long v4, v4 and-long/2addr v4, v7 shl-long v7, v9, v3 or-long v3, v4, v7 aput-wide v3, v6, v2 not-int v1, v1 return v1 :cond_5 add-int/lit8 v6, v17, 0x8 add-int/2addr v4, v6 and-int/2addr v4, v3 goto/16 :goto_0 .end method .method private final initializeGrowth()V .locals 2 .line 716 invoke-virtual {p0}, Landroidx/collection/IntLongMap;->getCapacity()I move-result v0 invoke-static {v0}, Landroidx/collection/ScatterMapKt;->loadedCapacity(I)I move-result v0 iget v1, p0, Landroidx/collection/IntLongMap;->_size:I sub-int/2addr v0, v1 iput v0, p0, Landroidx/collection/MutableIntLongMap;->growthLimit:I return-void .end method .method private final initializeMetadata(I)V .locals 8 if-nez p1, :cond_0 .line 703 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 707 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 708 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V :goto_0 iput-object v0, p0, Landroidx/collection/IntLongMap;->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 712 invoke-direct {p0}, Landroidx/collection/MutableIntLongMap;->initializeGrowth()V return-void .end method .method private final initializeStorage(I)V .locals 1 if-lez p1, :cond_0 const/4 v0, 0x7 .line 691 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/IntLongMap;->_capacity:I .line 696 invoke-direct {p0, p1}, Landroidx/collection/MutableIntLongMap;->initializeMetadata(I)V .line 697 new-array v0, p1, [I iput-object v0, p0, Landroidx/collection/IntLongMap;->keys:[I .line 698 new-array p1, p1, [J iput-object p1, p0, Landroidx/collection/IntLongMap;->values:[J return-void .end method .method private final removeDeletedMarkers()V .locals 14 iget-object v0, p0, Landroidx/collection/IntLongMap;->metadata:[J iget v1, p0, Landroidx/collection/IntLongMap;->_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/IntLongMap;->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/IntLongMap;->_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/MutableIntLongMap;->growthLimit:I add-int/2addr v0, v3 iput v0, p0, Landroidx/collection/MutableIntLongMap;->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/IntLongMap;->metadata:[J iget-object v2, v0, Landroidx/collection/IntLongMap;->keys:[I iget-object v3, v0, Landroidx/collection/IntLongMap;->values:[J iget v4, v0, Landroidx/collection/IntLongMap;->_capacity:I .line 996 invoke-direct/range {p0 .. p1}, Landroidx/collection/MutableIntLongMap;->initializeStorage(I)V iget-object v5, v0, Landroidx/collection/IntLongMap;->keys:[I iget-object v6, v0, Landroidx/collection/IntLongMap;->values:[J const/4 v7, 0x0 :goto_0 if-ge v7, v4, :cond_1 shr-int/lit8 v8, v7, 0x3 .line 1661 aget-wide v8, v1, v8 and-int/lit8 v10, v7, 0x7 shl-int/lit8 v10, v10, 0x3 shr-long/2addr v8, v10 const-wide/16 v10, 0xff and-long/2addr v8, v10 const-wide/16 v12, 0x80 cmp-long v8, v8, v12 if-gez v8, :cond_0 .line 1003 aget v8, v2, v7 .line 849 invoke-static {v8}, Ljava/lang/Integer;->hashCode(I)I move-result v9 const v12, -0x3361d2af # -8.293031E7f mul-int/2addr v9, v12 shl-int/lit8 v12, v9, 0x10 xor-int/2addr v9, v12 ushr-int/lit8 v12, v9, 0x7 .line 1005 invoke-direct {v0, v12}, Landroidx/collection/MutableIntLongMap;->findFirstAvailableSlot(I)I move-result v12 and-int/lit8 v9, v9, 0x7f int-to-long v13, v9 iget-object v9, v0, Landroidx/collection/IntLongMap;->metadata:[J shr-int/lit8 v15, v12, 0x3 and-int/lit8 v16, v12, 0x7 shl-int/lit8 v16, v16, 0x3 .line 1676 aget-wide v17, v9, v15 move-object/from16 v19, v1 move-object/from16 v20, v2 shl-long v1, v10, v16 not-long v1, v1 and-long v1, v17, v1 shl-long v16, v13, v16 or-long v1, v1, v16 aput-wide v1, v9, v15 iget v1, v0, Landroidx/collection/IntLongMap;->_capacity:I add-int/lit8 v2, v12, -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 v15, v9, v1 shl-long/2addr v10, v2 not-long v10, v10 and-long/2addr v10, v15 shl-long/2addr v13, v2 or-long/2addr v10, v13 aput-wide v10, v9, v1 .line 1008 aput v8, v5, v12 .line 1009 aget-wide v1, v3, v7 aput-wide v1, v6, v12 goto :goto_1 :cond_0 move-object/from16 v19, v1 move-object/from16 v20, v2 :goto_1 add-int/lit8 v7, v7, 0x1 move-object/from16 v1, v19 move-object/from16 v2, v20 goto :goto_0 :cond_1 return-void .end method .method private final writeMetadata(IJ)V .locals 9 iget-object v0, p0, Landroidx/collection/IntLongMap;->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/IntLongMap;->_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 clear()V .locals 9 const/4 v0, 0x0 iput v0, p0, Landroidx/collection/IntLongMap;->_size:I iget-object v1, p0, Landroidx/collection/IntLongMap;->metadata:[J .line 883 sget-object v0, Landroidx/collection/ScatterMapKt;->EmptyGroup:[J if-eq v1, v0, :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 884 invoke-static/range {v1 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([JJIIILjava/lang/Object;)V iget-object v0, p0, Landroidx/collection/IntLongMap;->metadata:[J iget v1, p0, Landroidx/collection/IntLongMap;->_capacity:I shr-int/lit8 v2, v1, 0x3 and-int/lit8 v1, v1, 0x7 shl-int/lit8 v1, v1, 0x3 .line 1676 aget-wide v3, v0, v2 const-wide/16 v5, 0xff shl-long/2addr v5, v1 not-long v7, v5 and-long/2addr v3, v7 or-long/2addr v3, v5 aput-wide v3, v0, v2 .line 887 :cond_0 invoke-direct {p0}, Landroidx/collection/MutableIntLongMap;->initializeGrowth()V return-void .end method .method public final getOrPut(ILkotlin/jvm/functions/Function0;)J .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(I", "Lkotlin/jvm/functions/Function0;", ")J" } .end annotation const-string v0, "defaultValue" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 726 invoke-virtual {p0, p1}, Landroidx/collection/IntLongMap;->findKeyIndex(I)I move-result v0 if-gez v0, :cond_0 .line 728 invoke-interface {p2}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; move-result-object p2 check-cast p2, Ljava/lang/Number; invoke-virtual {p2}, Ljava/lang/Number;->longValue()J move-result-wide v0 .line 729 invoke-virtual {p0, p1, v0, v1}, Landroidx/collection/MutableIntLongMap;->put(IJ)V goto :goto_0 :cond_0 iget-object p1, p0, Landroidx/collection/IntLongMap;->values:[J .line 732 aget-wide v0, p1, v0 :goto_0 return-wide v0 .end method .method public final minusAssign(I)V .locals 0 .line 839 invoke-virtual {p0, p1}, Landroidx/collection/MutableIntLongMap;->remove(I)V return-void .end method .method public final minusAssign(Landroidx/collection/IntList;)V .locals 3 const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 254 iget-object v0, p1, Landroidx/collection/IntList;->content:[I .line 255 iget p1, p1, Landroidx/collection/IntList;->_size:I const/4 v1, 0x0 :goto_0 if-ge v1, p1, :cond_0 .line 256 aget v2, v0, v1 .line 865 invoke-virtual {p0, v2}, Landroidx/collection/MutableIntLongMap;->remove(I)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final minusAssign(Landroidx/collection/IntSet;)V .locals 13 const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 263 iget-object v0, p1, Landroidx/collection/IntSet;->elements:[I .line 233 iget-object p1, p1, Landroidx/collection/IntSet;->metadata:[J .line 234 array-length v1, p1 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 237 :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 266 aget v9, v0, v9 .line 856 invoke-virtual {p0, v9}, Landroidx/collection/MutableIntLongMap;->remove(I)V :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([I)V .locals 3 const-string v0, "keys" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 846 array-length v0, p1 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 aget v2, p1, v1 .line 847 invoke-virtual {p0, v2}, Landroidx/collection/MutableIntLongMap;->remove(I)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public final plusAssign(Landroidx/collection/IntLongMap;)V .locals 1 const-string v0, "from" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 797 invoke-virtual {p0, p1}, Landroidx/collection/MutableIntLongMap;->putAll(Landroidx/collection/IntLongMap;)V return-void .end method .method public final put(IJJ)J .locals 3 .line 772 invoke-direct {p0, p1}, Landroidx/collection/MutableIntLongMap;->findInsertIndex(I)I move-result v0 if-gez v0, :cond_0 not-int v0, v0 goto :goto_0 :cond_0 iget-object p4, p0, Landroidx/collection/IntLongMap;->values:[J .line 777 aget-wide v1, p4, v0 move-wide p4, v1 :goto_0 iget-object v1, p0, Landroidx/collection/IntLongMap;->keys:[I .line 779 aput p1, v1, v0 iget-object p1, p0, Landroidx/collection/IntLongMap;->values:[J .line 780 aput-wide p2, p1, v0 return-wide p4 .end method .method public final put(IJ)V .locals 0 .line 759 invoke-virtual {p0, p1, p2, p3}, Landroidx/collection/MutableIntLongMap;->set(IJ)V return-void .end method .method public final putAll(Landroidx/collection/IntLongMap;)V .locals 14 const-string v0, "from" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 385 iget-object v0, p1, Landroidx/collection/IntLongMap;->keys:[I .line 386 iget-object v1, p1, Landroidx/collection/IntLongMap;->values:[J .line 357 iget-object p1, p1, Landroidx/collection/IntLongMap;->metadata:[J .line 358 array-length v2, p1 add-int/lit8 v2, v2, -0x2 if-ltz v2, :cond_3 const/4 v3, 0x0 move v4, v3 .line 361 :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 389 aget v11, v0, v10 aget-wide v12, v1, v10 .line 790 invoke-virtual {p0, v11, v12, v13}, Landroidx/collection/MutableIntLongMap;->set(IJ)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 remove(I)V .locals 0 .line 803 invoke-virtual {p0, p1}, Landroidx/collection/IntLongMap;->findKeyIndex(I)I move-result p1 if-ltz p1, :cond_0 .line 805 invoke-virtual {p0, p1}, Landroidx/collection/MutableIntLongMap;->removeValueAt(I)V :cond_0 return-void .end method .method public final remove(IJ)Z .locals 3 .line 814 invoke-virtual {p0, p1}, Landroidx/collection/IntLongMap;->findKeyIndex(I)I move-result p1 if-ltz p1, :cond_0 iget-object v0, p0, Landroidx/collection/IntLongMap;->values:[J .line 816 aget-wide v1, v0, p1 cmp-long p2, v1, p2 if-nez p2, :cond_0 .line 817 invoke-virtual {p0, p1}, Landroidx/collection/MutableIntLongMap;->removeValueAt(I)V const/4 p1, 0x1 return p1 :cond_0 const/4 p1, 0x0 return p1 .end method .method public final removeIf(Lkotlin/jvm/functions/Function2;)V .locals 14 .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/IntLongMap;->metadata:[J .line 358 array-length v1, v0 add-int/lit8 v1, v1, -0x2 if-ltz v1, :cond_3 const/4 v2, 0x0 move v3, v2 .line 361 :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/IntLongMap;->keys:[I .line 829 aget v10, v10, v9 invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v10 iget-object v11, p0, Landroidx/collection/IntLongMap;->values:[J aget-wide v12, v11, v9 invoke-static {v12, v13}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v11 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 830 invoke-virtual {p0, v9}, Landroidx/collection/MutableIntLongMap;->removeValueAt(I)V :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)V .locals 11 iget v0, p0, Landroidx/collection/IntLongMap;->_size:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Landroidx/collection/IntLongMap;->_size:I iget-object v0, p0, Landroidx/collection/IntLongMap;->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/IntLongMap;->_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 aget-wide v2, v0, v1 shl-long v4, v5, p1 not-long v4, v4 and-long/2addr v2, v4 shl-long v4, v7, p1 or-long/2addr v2, v4 aput-wide v2, v0, v1 return-void .end method .method public final set(IJ)V .locals 2 .line 744 invoke-direct {p0, p1}, Landroidx/collection/MutableIntLongMap;->findInsertIndex(I)I move-result v0 if-gez v0, :cond_0 not-int v0, v0 :cond_0 iget-object v1, p0, Landroidx/collection/IntLongMap;->keys:[I .line 746 aput p1, v1, v0 iget-object p1, p0, Landroidx/collection/IntLongMap;->values:[J .line 747 aput-wide p2, p1, v0 return-void .end method .method public final trim()I .locals 2 iget v0, p0, Landroidx/collection/IntLongMap;->_capacity:I iget v1, p0, Landroidx/collection/IntLongMap;->_size:I .line 967 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 969 invoke-direct {p0, v1}, Landroidx/collection/MutableIntLongMap;->resizeStorage(I)V iget v1, p0, Landroidx/collection/IntLongMap;->_capacity:I sub-int/2addr v0, v1 return v0 :cond_0 const/4 v0, 0x0 return v0 .end method