Multisets.smali

.class public final Lcom/google/common/collect/Multisets;
.super Ljava/lang/Object;
.source "Multisets.java"


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 1080
    new-instance v0, Lcom/google/common/collect/Multisets$1;

    invoke-direct {v0}, Lcom/google/common/collect/Multisets$1;-><init>()V

    return-void
.end method

.method static a(Lcom/google/common/collect/cl;Ljava/lang/Object;I)I
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/google/common/collect/cl",
            "<TE;>;TE;I)I"
        }
    .end annotation

    .prologue
    .line 891
    const-string v0, "count"

    invoke-static {p2, v0}, Lcom/google/common/collect/aa;->k(ILjava/lang/String;)I

    .line 893
    invoke-interface {p0, p1}, Lcom/google/common/collect/cl;->count(Ljava/lang/Object;)I

    move-result v0

    .line 895
    sub-int v1, p2, v0

    .line 896
    if-lez v1, :cond_11

    .line 897
    invoke-interface {p0, p1, v1}, Lcom/google/common/collect/cl;->add(Ljava/lang/Object;I)I

    .line 902
    :cond_10
    :goto_10
    return v0

    .line 898
    :cond_11
    if-gez v1, :cond_10

    .line 899
    neg-int v1, v1

    invoke-interface {p0, p1, v1}, Lcom/google/common/collect/cl;->remove(Ljava/lang/Object;I)I

    goto :goto_10
.end method

.method public static a(Ljava/lang/Object;I)Lcom/google/common/collect/cm;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(TE;I)",
            "Lcom/google/common/collect/cm",
            "<TE;>;"
        }
    .end annotation

    .prologue
    .line 212
    new-instance v0, Lcom/google/common/collect/Multisets$ImmutableEntry;

    invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Multisets$ImmutableEntry;-><init>(Ljava/lang/Object;I)V

    return-object v0
.end method

.method static a(Lcom/google/common/collect/cl;Ljava/lang/Object;)Z
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/common/collect/cl",
            "<*>;",
            "Ljava/lang/Object;",
            ")Z"
        }
    .end annotation

    .prologue
    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 820
    if-ne p1, p0, :cond_6

    move v0, v1

    .line 842
    :goto_5
    return v0

    .line 823
    :cond_6
    instance-of v0, p1, Lcom/google/common/collect/cl;

    if-eqz v0, :cond_50

    .line 824
    check-cast p1, Lcom/google/common/collect/cl;

    .line 831
    invoke-interface {p0}, Lcom/google/common/collect/cl;->size()I

    move-result v0

    invoke-interface {p1}, Lcom/google/common/collect/cl;->size()I

    move-result v3

    if-ne v0, v3, :cond_28

    invoke-interface {p0}, Lcom/google/common/collect/cl;->entrySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->size()I

    move-result v0

    invoke-interface {p1}, Lcom/google/common/collect/cl;->entrySet()Ljava/util/Set;

    move-result-object v3

    invoke-interface {v3}, Ljava/util/Set;->size()I

    move-result v3

    if-eq v0, v3, :cond_2a

    :cond_28
    move v0, v2

    .line 833
    goto :goto_5

    .line 835
    :cond_2a
    invoke-interface {p1}, Lcom/google/common/collect/cl;->entrySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_32
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_4e

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/common/collect/cm;

    .line 836
    invoke-interface {v0}, Lcom/google/common/collect/cm;->getElement()Ljava/lang/Object;

    move-result-object v4

    invoke-interface {p0, v4}, Lcom/google/common/collect/cl;->count(Ljava/lang/Object;)I

    move-result v4

    invoke-interface {v0}, Lcom/google/common/collect/cm;->getCount()I

    move-result v0

    if-eq v4, v0, :cond_32

    move v0, v2

    .line 837
    goto :goto_5

    :cond_4e
    move v0, v1

    .line 840
    goto :goto_5

    :cond_50
    move v0, v2

    .line 842
    goto :goto_5
.end method

.method static a(Lcom/google/common/collect/cl;Ljava/lang/Object;II)Z
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/google/common/collect/cl",
            "<TE;>;TE;II)Z"
        }
    .end annotation

    .prologue
    .line 910
    const-string v0, "oldCount"

    invoke-static {p2, v0}, Lcom/google/common/collect/aa;->k(ILjava/lang/String;)I

    .line 911
    const-string v0, "newCount"

    invoke-static {p3, v0}, Lcom/google/common/collect/aa;->k(ILjava/lang/String;)I

    .line 913
    invoke-interface {p0, p1}, Lcom/google/common/collect/cl;->count(Ljava/lang/Object;)I

    move-result v0

    if-ne v0, p2, :cond_15

    .line 914
    invoke-interface {p0, p1, p3}, Lcom/google/common/collect/cl;->setCount(Ljava/lang/Object;I)I

    .line 915
    const/4 v0, 0x1

    .line 917
    :goto_14
    return v0

    :cond_15
    const/4 v0, 0x0

    goto :goto_14
.end method

.method static a(Lcom/google/common/collect/cl;Ljava/util/Collection;)Z
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/google/common/collect/cl",
            "<TE;>;",
            "Ljava/util/Collection",
            "<+TE;>;)Z"
        }
    .end annotation

    .prologue
    .line 850
    invoke-interface {p1}, Ljava/util/Collection;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_8

    .line 851
    const/4 v0, 0x0

    .line 861
    :goto_7
    return v0

    .line 853
    :cond_8
    instance-of v0, p1, Lcom/google/common/collect/cl;

    if-eqz v0, :cond_2e

    .line 2077
    check-cast p1, Lcom/google/common/collect/cl;

    .line 855
    invoke-interface {p1}, Lcom/google/common/collect/cl;->entrySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_16
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_35

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/common/collect/cm;

    .line 856
    invoke-interface {v0}, Lcom/google/common/collect/cm;->getElement()Ljava/lang/Object;

    move-result-object v2

    invoke-interface {v0}, Lcom/google/common/collect/cm;->getCount()I

    move-result v0

    invoke-interface {p0, v2, v0}, Lcom/google/common/collect/cl;->add(Ljava/lang/Object;I)I

    goto :goto_16

    .line 859
    :cond_2e
    invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v0

    invoke-static {p0, v0}, Lcom/google/common/collect/az;->a(Ljava/util/Collection;Ljava/util/Iterator;)Z

    .line 861
    :cond_35
    const/4 v0, 0x1

    goto :goto_7
.end method

.method static b(Lcom/google/common/collect/cl;)Ljava/util/Iterator;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/google/common/collect/cl",
            "<TE;>;)",
            "Ljava/util/Iterator",
            "<TE;>;"
        }
    .end annotation

    .prologue
    .line 1010
    new-instance v0, Lcom/google/common/collect/cq;

    invoke-interface {p0}, Lcom/google/common/collect/cl;->entrySet()Ljava/util/Set;

    move-result-object v1

    invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v1

    invoke-direct {v0, p0, v1}, Lcom/google/common/collect/cq;-><init>(Lcom/google/common/collect/cl;Ljava/util/Iterator;)V

    return-object v0
.end method

.method static b(Lcom/google/common/collect/cl;Ljava/util/Collection;)Z
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/common/collect/cl",
            "<*>;",
            "Ljava/util/Collection",
            "<*>;)Z"
        }
    .end annotation

    .prologue
    .line 869
    instance-of v0, p1, Lcom/google/common/collect/cl;

    if-eqz v0, :cond_a

    check-cast p1, Lcom/google/common/collect/cl;

    invoke-interface {p1}, Lcom/google/common/collect/cl;->elementSet()Ljava/util/Set;

    move-result-object p1

    .line 872
    :cond_a
    invoke-interface {p0}, Lcom/google/common/collect/cl;->elementSet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Set;->removeAll(Ljava/util/Collection;)Z

    move-result v0

    return v0
.end method

.method static c(Lcom/google/common/collect/cl;)I
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/common/collect/cl",
            "<*>;)I"
        }
    .end annotation

    .prologue
    .line 1066
    const-wide/16 v0, 0x0

    .line 1067
    invoke-interface {p0}, Lcom/google/common/collect/cl;->entrySet()Ljava/util/Set;

    move-result-object v2

    invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v4

    move-wide v2, v0

    :goto_b
    invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_1f

    invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/google/common/collect/cm;

    .line 1068
    invoke-interface {v0}, Lcom/google/common/collect/cm;->getCount()I

    move-result v0

    int-to-long v0, v0

    add-long/2addr v0, v2

    move-wide v2, v0

    .line 1069
    goto :goto_b

    .line 1070
    :cond_1f
    invoke-static {v2, v3}, Lcom/google/common/primitives/b;->r(J)I

    move-result v0

    return v0
.end method

.method static c(Lcom/google/common/collect/cl;Ljava/util/Collection;)Z
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/google/common/collect/cl",
            "<*>;",
            "Ljava/util/Collection",
            "<*>;)Z"
        }
    .end annotation

    .prologue
    .line 880
    invoke-static {p1}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 881
    instance-of v0, p1, Lcom/google/common/collect/cl;

    if-eqz v0, :cond_d

    check-cast p1, Lcom/google/common/collect/cl;

    invoke-interface {p1}, Lcom/google/common/collect/cl;->elementSet()Ljava/util/Set;

    move-result-object p1

    .line 884
    :cond_d
    invoke-interface {p0}, Lcom/google/common/collect/cl;->elementSet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0, p1}, Ljava/util/Set;->retainAll(Ljava/util/Collection;)Z

    move-result v0

    return v0
.end method

.method static i(Ljava/lang/Iterable;)I
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Iterable",
            "<*>;)I"
        }
    .end annotation

    .prologue
    .line 358
    instance-of v0, p0, Lcom/google/common/collect/cl;

    if-eqz v0, :cond_f

    .line 359
    check-cast p0, Lcom/google/common/collect/cl;

    invoke-interface {p0}, Lcom/google/common/collect/cl;->elementSet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->size()I

    move-result v0

    .line 361
    :goto_e
    return v0

    :cond_f
    const/16 v0, 0xb

    goto :goto_e
.end method

.method static j(Ljava/lang/Iterable;)Lcom/google/common/collect/cl;
    .registers 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/lang/Iterable",
            "<TT;>;)",
            "Lcom/google/common/collect/cl",
            "<TT;>;"
        }
    .end annotation

    .prologue
    .line 1077
    check-cast p0, Lcom/google/common/collect/cl;

    return-object p0
.end method