.class public final Landroidx/room/util/TableInfoKt; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation build Lkotlin/jvm/internal/SourceDebugExtension; value = { "SMAP\nTableInfo.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfoKt\n+ 2 CursorUtil.kt\nandroidx/room/util/CursorUtil\n+ 3 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,646:1\n145#2,2:647\n148#2,2:654\n151#2:660\n145#2,7:661\n145#2,7:668\n145#2,7:675\n766#3:649\n857#3,2:650\n1855#3,2:652\n857#3,2:656\n1855#3,2:658\n*S KotlinDebug\n*F\n+ 1 TableInfo.kt\nandroidx/room/util/TableInfoKt\n*L\n477#1:647,2\n477#1:654,2\n477#1:660\n542#1:661,7\n580#1:668,7\n613#1:675,7\n497#1:649\n497#1:650,2\n499#1:652,2\n497#1:656,2\n499#1:658,2\n*E\n" } .end annotation # direct methods .method private static final readColumns(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Map; .locals 18 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/sqlite/db/SupportSQLiteDatabase;", "Ljava/lang/String;", ")", "Ljava/util/Map<", "Ljava/lang/String;", "Landroidx/room/util/TableInfo$Column;", ">;" } .end annotation const-string v0, "type" const-string v1, "name" .line 542 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "PRAGMA table_info(`" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-object/from16 v3, p1 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v3, "`)" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 move-object/from16 v3, p0 invoke-interface {v3, v2}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; move-result-object v2 .line 543 :try_start_0 invoke-interface {v2}, Landroid/database/Cursor;->getColumnCount()I move-result v3 const/4 v4, 0x0 if-gtz v3, :cond_0 .line 544 invoke-static {}, Lkotlin/collections/MapsKt;->emptyMap()Ljava/util/Map; move-result-object v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 invoke-static {v2, v4}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object v0 :catchall_0 move-exception v0 move-object v1, v0 goto :goto_3 .line 547 :cond_0 :try_start_1 invoke-interface {v2, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v3 .line 548 invoke-interface {v2, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v5 const-string v6, "notnull" .line 549 invoke-interface {v2, v6}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v6 const-string v7, "pk" .line 550 invoke-interface {v2, v7}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v7 const-string v8, "dflt_value" .line 551 invoke-interface {v2, v8}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v8 .line 553 invoke-static {}, Lkotlin/collections/MapsKt;->createMapBuilder()Ljava/util/Map; move-result-object v9 .line 554 :goto_0 invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z move-result v10 if-eqz v10, :cond_2 .line 555 invoke-interface {v2, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v10 .line 556 invoke-interface {v2, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v13 .line 557 invoke-interface {v2, v6}, Landroid/database/Cursor;->getInt(I)I move-result v11 if-eqz v11, :cond_1 const/4 v11, 0x1 :goto_1 move v14, v11 goto :goto_2 :cond_1 const/4 v11, 0x0 goto :goto_1 .line 558 :goto_2 invoke-interface {v2, v7}, Landroid/database/Cursor;->getInt(I)I move-result v15 .line 559 invoke-interface {v2, v8}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v16 .line 561 invoke-static {v10, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 562 new-instance v12, Landroidx/room/util/TableInfo$Column; .line 564 invoke-static {v13, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V const/16 v17, 0x2 move-object v11, v12 move-object v4, v12 move-object v12, v10 .line 562 invoke-direct/range {v11 .. v17}, Landroidx/room/util/TableInfo$Column;->(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;I)V .line 560 invoke-interface {v9, v10, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v4, 0x0 goto :goto_0 .line 553 :cond_2 invoke-static {v9}, Lkotlin/collections/MapsKt;->build(Ljava/util/Map;)Ljava/util/Map; move-result-object v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 const/4 v1, 0x0 invoke-static {v2, v1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object v0 :goto_3 :try_start_2 throw v1 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 :catchall_1 move-exception v0 move-object v3, v0 invoke-static {v2, v1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V throw v3 .end method .method private static final readForeignKeyFieldMappings(Landroid/database/Cursor;)Ljava/util/List; .locals 11 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/database/Cursor;", ")", "Ljava/util/List<", "Landroidx/room/util/TableInfo$ForeignKeyWithSequence;", ">;" } .end annotation const-string v0, "id" .line 519 invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v0 const-string v1, "seq" .line 520 invoke-interface {p0, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 const-string v2, "from" .line 521 invoke-interface {p0, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v2 const-string v3, "to" .line 522 invoke-interface {p0, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v3 .line 524 invoke-static {}, Lkotlin/collections/CollectionsKt;->createListBuilder()Ljava/util/List; move-result-object v4 .line 525 :goto_0 invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z move-result v5 if-eqz v5, :cond_0 .line 527 new-instance v5, Landroidx/room/util/TableInfo$ForeignKeyWithSequence; .line 528 invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I move-result v6 .line 529 invoke-interface {p0, v1}, Landroid/database/Cursor;->getInt(I)I move-result v7 .line 530 invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v8 const-string v9, "cursor.getString(fromColumnIndex)" invoke-static {v8, v9}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 531 invoke-interface {p0, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v9 const-string v10, "cursor.getString(toColumnIndex)" invoke-static {v9, v10}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 527 invoke-direct {v5, v6, v7, v8, v9}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->(IILjava/lang/String;Ljava/lang/String;)V .line 526 invoke-interface {v4, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_0 .line 524 :cond_0 invoke-static {v4}, Lkotlin/collections/CollectionsKt;->build(Ljava/util/List;)Ljava/util/List; move-result-object p0 check-cast p0, Ljava/lang/Iterable; .line 535 invoke-static {p0}, Lkotlin/collections/CollectionsKt;->sorted(Ljava/lang/Iterable;)Ljava/util/List; move-result-object p0 return-object p0 .end method .method private static final readForeignKeys(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set; .locals 13 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/sqlite/db/SupportSQLiteDatabase;", "Ljava/lang/String;", ")", "Ljava/util/Set<", "Landroidx/room/util/TableInfo$ForeignKey;", ">;" } .end annotation .line 477 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "PRAGMA foreign_key_list(`" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p1, "`)" invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-interface {p0, p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; move-result-object p0 :try_start_0 const-string p1, "id" .line 478 invoke-interface {p0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result p1 const-string v0, "seq" .line 479 invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v0 const-string v1, "table" .line 480 invoke-interface {p0, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 const-string v2, "on_delete" .line 481 invoke-interface {p0, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v2 const-string v3, "on_update" .line 482 invoke-interface {p0, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v3 .line 483 invoke-static {p0}, Landroidx/room/util/TableInfoKt;->readForeignKeyFieldMappings(Landroid/database/Cursor;)Ljava/util/List; move-result-object v4 const/4 v5, -0x1 .line 486 invoke-interface {p0, v5}, Landroid/database/Cursor;->moveToPosition(I)Z .line 487 invoke-static {}, Lkotlin/collections/SetsKt;->createSetBuilder()Ljava/util/Set; move-result-object v5 .line 488 :goto_0 invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z move-result v6 if-eqz v6, :cond_4 .line 489 invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I move-result v6 if-eqz v6, :cond_0 goto :goto_0 .line 493 :cond_0 invoke-interface {p0, p1}, Landroid/database/Cursor;->getInt(I)I move-result v6 .line 494 new-instance v11, Ljava/util/ArrayList; invoke-direct {v11}, Ljava/util/ArrayList;->()V .line 495 new-instance v12, Ljava/util/ArrayList; invoke-direct {v12}, Ljava/util/ArrayList;->()V .line 497 move-object v7, v4 check-cast v7, Ljava/lang/Iterable; .line 766 new-instance v8, Ljava/util/ArrayList; invoke-direct {v8}, Ljava/util/ArrayList;->()V .line 857 invoke-interface {v7}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object v7 :cond_1 :goto_1 invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z move-result v9 if-eqz v9, :cond_2 invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v9 move-object v10, v9 check-cast v10, Landroidx/room/util/TableInfo$ForeignKeyWithSequence; .line 498 invoke-virtual {v10}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->getId()I move-result v10 if-ne v10, v6, :cond_1 .line 857 invoke-interface {v8, v9}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_1 :catchall_0 move-exception p1 goto :goto_3 .line 1855 :cond_2 invoke-interface {v8}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object v6 :goto_2 invoke-interface {v6}, Ljava/util/Iterator;->hasNext()Z move-result v7 if-eqz v7, :cond_3 invoke-interface {v6}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/room/util/TableInfo$ForeignKeyWithSequence; .line 500 invoke-virtual {v7}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->getFrom()Ljava/lang/String; move-result-object v8 invoke-interface {v11, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 501 invoke-virtual {v7}, Landroidx/room/util/TableInfo$ForeignKeyWithSequence;->getTo()Ljava/lang/String; move-result-object v7 invoke-interface {v12, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_2 .line 505 :cond_3 new-instance v6, Landroidx/room/util/TableInfo$ForeignKey; .line 506 invoke-interface {p0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v8 const-string v7, "cursor.getString(tableColumnIndex)" invoke-static {v8, v7}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 507 invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v9 const-string v7, "cursor.getString(onDeleteColumnIndex)" invoke-static {v9, v7}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 508 invoke-interface {p0, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v10 const-string v7, "cursor.getString(onUpdateColumnIndex)" invoke-static {v10, v7}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V move-object v7, v6 .line 505 invoke-direct/range {v7 .. v12}, Landroidx/room/util/TableInfo$ForeignKey;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V .line 504 invoke-interface {v5, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z goto/16 :goto_0 .line 487 :cond_4 invoke-static {v5}, Lkotlin/collections/SetsKt;->build(Ljava/util/Set;)Ljava/util/Set; move-result-object p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 const/4 v0, 0x0 invoke-static {p0, v0}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object p1 :goto_3 :try_start_1 throw p1 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception v0 invoke-static {p0, p1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V throw v0 .end method .method private static final readIndex(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;Z)Landroidx/room/util/TableInfo$Index; .locals 12 .line 613 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "PRAGMA index_xinfo(`" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "`)" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-interface {p0, v0}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; move-result-object p0 :try_start_0 const-string v0, "seqno" .line 614 invoke-interface {p0, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v0 const-string v1, "cid" .line 615 invoke-interface {p0, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 const-string v2, "name" .line 616 invoke-interface {p0, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v2 const-string v3, "desc" .line 617 invoke-interface {p0, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v3 const/4 v4, 0x0 const/4 v5, -0x1 if-eq v0, v5, :cond_4 if-eq v1, v5, :cond_4 if-eq v2, v5, :cond_4 if-ne v3, v5, :cond_0 goto :goto_2 .line 627 :cond_0 new-instance v5, Ljava/util/TreeMap; invoke-direct {v5}, Ljava/util/TreeMap;->()V .line 628 new-instance v6, Ljava/util/TreeMap; invoke-direct {v6}, Ljava/util/TreeMap;->()V .line 629 :goto_0 invoke-interface {p0}, Landroid/database/Cursor;->moveToNext()Z move-result v7 if-eqz v7, :cond_3 .line 630 invoke-interface {p0, v1}, Landroid/database/Cursor;->getInt(I)I move-result v7 if-gez v7, :cond_1 goto :goto_0 .line 635 :cond_1 invoke-interface {p0, v0}, Landroid/database/Cursor;->getInt(I)I move-result v7 .line 636 invoke-interface {p0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v8 .line 637 invoke-interface {p0, v3}, Landroid/database/Cursor;->getInt(I)I move-result v9 if-lez v9, :cond_2 const-string v9, "DESC" goto :goto_1 :catchall_0 move-exception p1 goto :goto_3 :cond_2 const-string v9, "ASC" :goto_1 invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v10 const-string v11, "columnName" .line 638 invoke-static {v8, v11}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-interface {v5, v10, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v7 .line 639 invoke-interface {v6, v7, v9}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 .line 641 :cond_3 invoke-virtual {v5}, Ljava/util/TreeMap;->values()Ljava/util/Collection; move-result-object v0 const-string v1, "columnsMap.values" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V check-cast v0, Ljava/lang/Iterable; invoke-static {v0}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v0 .line 642 invoke-virtual {v6}, Ljava/util/TreeMap;->values()Ljava/util/Collection; move-result-object v1 const-string v2, "ordersMap.values" invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V check-cast v1, Ljava/lang/Iterable; invoke-static {v1}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List; move-result-object v1 .line 643 new-instance v2, Landroidx/room/util/TableInfo$Index; invoke-direct {v2, p1, p2, v0, v1}, Landroidx/room/util/TableInfo$Index;->(Ljava/lang/String;ZLjava/util/List;Ljava/util/List;)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 146 invoke-static {p0, v4}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object v2 .line 625 :cond_4 :goto_2 invoke-static {p0, v4}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object v4 .line 146 :goto_3 :try_start_1 throw p1 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception p2 invoke-static {p0, p1}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V throw p2 .end method .method private static final readIndices(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set; .locals 9 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroidx/sqlite/db/SupportSQLiteDatabase;", "Ljava/lang/String;", ")", "Ljava/util/Set<", "Landroidx/room/util/TableInfo$Index;", ">;" } .end annotation const-string v0, "name" .line 580 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "PRAGMA index_list(`" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p1, "`)" invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-interface {p0, p1}, Landroidx/sqlite/db/SupportSQLiteDatabase;->query(Ljava/lang/String;)Landroid/database/Cursor; move-result-object p1 .line 581 :try_start_0 invoke-interface {p1, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 const-string v2, "origin" .line 582 invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v2 const-string v3, "unique" .line 583 invoke-interface {p1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v3 const/4 v4, -0x1 const/4 v5, 0x0 if-eq v1, v4, :cond_5 if-eq v2, v4, :cond_5 if-ne v3, v4, :cond_0 goto :goto_2 .line 588 :cond_0 invoke-static {}, Lkotlin/collections/SetsKt;->createSetBuilder()Ljava/util/Set; move-result-object v4 .line 589 :goto_0 invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z move-result v6 if-eqz v6, :cond_4 .line 590 invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v6 const-string v7, "c" .line 591 invoke-static {v7, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v6 if-nez v6, :cond_1 goto :goto_0 .line 595 :cond_1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v6 .line 596 invoke-interface {p1, v3}, Landroid/database/Cursor;->getInt(I)I move-result v7 const/4 v8, 0x1 if-ne v7, v8, :cond_2 goto :goto_1 :cond_2 const/4 v8, 0x0 .line 598 :goto_1 invoke-static {v6, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {p0, v6, v8}, Landroidx/room/util/TableInfoKt;->readIndex(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;Z)Landroidx/room/util/TableInfo$Index; move-result-object v6 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-nez v6, :cond_3 invoke-static {p1, v5}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object v5 .line 599 :cond_3 :try_start_1 invoke-interface {v4, v6}, Ljava/util/Set;->add(Ljava/lang/Object;)Z goto :goto_0 :catchall_0 move-exception p0 goto :goto_3 .line 588 :cond_4 invoke-static {v4}, Lkotlin/collections/SetsKt;->build(Ljava/util/Set;)Ljava/util/Set; move-result-object p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 invoke-static {p1, v5}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object p0 .line 586 :cond_5 :goto_2 invoke-static {p1, v5}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V return-object v5 .line 588 :goto_3 :try_start_2 throw p0 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 :catchall_1 move-exception v0 invoke-static {p1, p0}, Lkotlin/io/CloseableKt;->closeFinally(Ljava/io/Closeable;Ljava/lang/Throwable;)V throw v0 .end method .method public static final readTableInfo(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Landroidx/room/util/TableInfo; .locals 3 const-string v0, "database" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "tableName" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 466 invoke-static {p0, p1}, Landroidx/room/util/TableInfoKt;->readColumns(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Map; move-result-object v0 .line 467 invoke-static {p0, p1}, Landroidx/room/util/TableInfoKt;->readForeignKeys(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set; move-result-object v1 .line 468 invoke-static {p0, p1}, Landroidx/room/util/TableInfoKt;->readIndices(Landroidx/sqlite/db/SupportSQLiteDatabase;Ljava/lang/String;)Ljava/util/Set; move-result-object p0 .line 469 new-instance v2, Landroidx/room/util/TableInfo; invoke-direct {v2, p1, v0, v1, p0}, Landroidx/room/util/TableInfo;->(Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;Ljava/util/Set;)V return-object v2 .end method