You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1277 lines
32 KiB
1277 lines
32 KiB
.class public final Lcom/google/common/collect/Multisets; |
|
.super Ljava/lang/Object; |
|
.source "Multisets.java" |
|
|
|
|
|
# annotations |
|
.annotation build Lcom/google/common/annotations/GwtCompatible; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/MemberClasses; |
|
value = { |
|
Lcom/google/common/collect/Multisets$MultisetIteratorImpl;, |
|
Lcom/google/common/collect/Multisets$EntrySet;, |
|
Lcom/google/common/collect/Multisets$ElementSet;, |
|
Lcom/google/common/collect/Multisets$AbstractEntry;, |
|
Lcom/google/common/collect/Multisets$FilteredMultiset;, |
|
Lcom/google/common/collect/Multisets$ImmutableEntry;, |
|
Lcom/google/common/collect/Multisets$UnmodifiableMultiset; |
|
} |
|
.end annotation |
|
|
|
|
|
# static fields |
|
.field private static final DECREASING_COUNT_ORDERING:Lcom/google/common/collect/Ordering; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"Lcom/google/common/collect/Ordering", |
|
"<", |
|
"Lcom/google/common/collect/Multiset$Entry", |
|
"<*>;>;" |
|
} |
|
.end annotation |
|
.end field |
|
|
|
|
|
# direct methods |
|
.method static constructor <clinit>()V |
|
.locals 1 |
|
|
|
.prologue |
|
.line 1063 |
|
new-instance v0, Lcom/google/common/collect/Multisets$5; |
|
|
|
invoke-direct {v0}, Lcom/google/common/collect/Multisets$5;-><init>()V |
|
|
|
sput-object v0, Lcom/google/common/collect/Multisets;->DECREASING_COUNT_ORDERING:Lcom/google/common/collect/Ordering; |
|
|
|
return-void |
|
.end method |
|
|
|
.method private constructor <init>()V |
|
.locals 0 |
|
|
|
.prologue |
|
.line 57 |
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V |
|
|
|
return-void |
|
.end method |
|
|
|
.method static addAllImpl(Lcom/google/common/collect/Multiset;Ljava/util/Collection;)Z |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Ljava/util/Collection", |
|
"<+TE;>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 833 |
|
invoke-interface {p1}, Ljava/util/Collection;->isEmpty()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 834 |
|
const/4 v0, 0x0 |
|
|
|
.line 844 |
|
:goto_0 |
|
return v0 |
|
|
|
.line 836 |
|
:cond_0 |
|
instance-of v0, p1, Lcom/google/common/collect/Multiset; |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 837 |
|
invoke-static {p1}, Lcom/google/common/collect/Multisets;->cast(Ljava/lang/Iterable;)Lcom/google/common/collect/Multiset; |
|
|
|
move-result-object v0 |
|
|
|
.line 838 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v1 |
|
|
|
:goto_1 |
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_2 |
|
|
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 839 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v2 |
|
|
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v0 |
|
|
|
invoke-interface {p0, v2, v0}, Lcom/google/common/collect/Multiset;->add(Ljava/lang/Object;I)I |
|
|
|
goto :goto_1 |
|
|
|
.line 842 |
|
:cond_1 |
|
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
invoke-static {p0, v0}, Lcom/google/common/collect/Iterators;->addAll(Ljava/util/Collection;Ljava/util/Iterator;)Z |
|
|
|
.line 844 |
|
:cond_2 |
|
const/4 v0, 0x1 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method static cast(Ljava/lang/Iterable;)Lcom/google/common/collect/Multiset; |
|
.locals 0 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<T:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Ljava/lang/Iterable", |
|
"<TT;>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TT;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1060 |
|
check-cast p0, Lcom/google/common/collect/Multiset; |
|
|
|
return-object p0 |
|
.end method |
|
|
|
.method public static containsOccurrences(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 646 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 647 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 648 |
|
invoke-interface {p1}, Lcom/google/common/collect/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v1 |
|
|
|
:cond_0 |
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 649 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v2 |
|
|
|
invoke-interface {p0, v2}, Lcom/google/common/collect/Multiset;->count(Ljava/lang/Object;)I |
|
|
|
move-result v2 |
|
|
|
.line 650 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v0 |
|
|
|
if-ge v2, v0, :cond_0 |
|
|
|
.line 651 |
|
const/4 v0, 0x0 |
|
|
|
.line 654 |
|
:goto_0 |
|
return v0 |
|
|
|
:cond_1 |
|
const/4 v0, 0x1 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public static copyHighestCountFirst(Lcom/google/common/collect/Multiset;)Lcom/google/common/collect/ImmutableMultiset; |
|
.locals 2 |
|
.annotation build Lcom/google/common/annotations/Beta; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;)", |
|
"Lcom/google/common/collect/ImmutableMultiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1078 |
|
sget-object v0, Lcom/google/common/collect/Multisets;->DECREASING_COUNT_ORDERING:Lcom/google/common/collect/Ordering; |
|
|
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v1 |
|
|
|
invoke-virtual {v0, v1}, Lcom/google/common/collect/Ordering;->immutableSortedCopy(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList; |
|
|
|
move-result-object v0 |
|
|
|
.line 1080 |
|
invoke-static {v0}, Lcom/google/common/collect/ImmutableMultiset;->copyFromEntries(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableMultiset; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public static difference(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Lcom/google/common/collect/Multiset; |
|
.locals 1 |
|
.annotation build Lcom/google/common/annotations/Beta; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 600 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 601 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 604 |
|
new-instance v0, Lcom/google/common/collect/Multisets$4; |
|
|
|
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Multisets$4;-><init>(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method static equalsImpl(Lcom/google/common/collect/Multiset;Ljava/lang/Object;)Z |
|
.locals 5 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;", |
|
"Ljava/lang/Object;", |
|
")Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v1, 0x1 |
|
|
|
const/4 v2, 0x0 |
|
|
|
.line 803 |
|
if-ne p1, p0, :cond_0 |
|
|
|
move v0, v1 |
|
|
|
.line 825 |
|
:goto_0 |
|
return v0 |
|
|
|
.line 806 |
|
:cond_0 |
|
instance-of v0, p1, Lcom/google/common/collect/Multiset; |
|
|
|
if-eqz v0, :cond_5 |
|
|
|
.line 807 |
|
check-cast p1, Lcom/google/common/collect/Multiset; |
|
|
|
.line 814 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->size()I |
|
|
|
move-result v0 |
|
|
|
invoke-interface {p1}, Lcom/google/common/collect/Multiset;->size()I |
|
|
|
move-result v3 |
|
|
|
if-ne v0, v3, :cond_1 |
|
|
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->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/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v3 |
|
|
|
invoke-interface {v3}, Ljava/util/Set;->size()I |
|
|
|
move-result v3 |
|
|
|
if-eq v0, v3, :cond_2 |
|
|
|
:cond_1 |
|
move v0, v2 |
|
|
|
.line 816 |
|
goto :goto_0 |
|
|
|
.line 818 |
|
:cond_2 |
|
invoke-interface {p1}, Lcom/google/common/collect/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v3 |
|
|
|
:cond_3 |
|
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_4 |
|
|
|
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 819 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v4 |
|
|
|
invoke-interface {p0, v4}, Lcom/google/common/collect/Multiset;->count(Ljava/lang/Object;)I |
|
|
|
move-result v4 |
|
|
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v0 |
|
|
|
if-eq v4, v0, :cond_3 |
|
|
|
move v0, v2 |
|
|
|
.line 820 |
|
goto :goto_0 |
|
|
|
:cond_4 |
|
move v0, v1 |
|
|
|
.line 823 |
|
goto :goto_0 |
|
|
|
:cond_5 |
|
move v0, v2 |
|
|
|
.line 825 |
|
goto :goto_0 |
|
.end method |
|
|
|
.method public static filter(Lcom/google/common/collect/Multiset;Lcom/google/common/base/Predicate;)Lcom/google/common/collect/Multiset; |
|
.locals 3 |
|
.annotation build Lcom/google/common/annotations/Beta; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Lcom/google/common/base/Predicate", |
|
"<-TE;>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 267 |
|
instance-of v0, p0, Lcom/google/common/collect/Multisets$FilteredMultiset; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 270 |
|
check-cast p0, Lcom/google/common/collect/Multisets$FilteredMultiset; |
|
|
|
.line 271 |
|
iget-object v0, p0, Lcom/google/common/collect/Multisets$FilteredMultiset;->predicate:Lcom/google/common/base/Predicate; |
|
|
|
invoke-static {v0, p1}, Lcom/google/common/base/Predicates;->and(Lcom/google/common/base/Predicate;Lcom/google/common/base/Predicate;)Lcom/google/common/base/Predicate; |
|
|
|
move-result-object v1 |
|
|
|
.line 273 |
|
new-instance v0, Lcom/google/common/collect/Multisets$FilteredMultiset; |
|
|
|
iget-object v2, p0, Lcom/google/common/collect/Multisets$FilteredMultiset;->unfiltered:Lcom/google/common/collect/Multiset; |
|
|
|
invoke-direct {v0, v2, v1}, Lcom/google/common/collect/Multisets$FilteredMultiset;-><init>(Lcom/google/common/collect/Multiset;Lcom/google/common/base/Predicate;)V |
|
|
|
.line 275 |
|
:goto_0 |
|
return-object v0 |
|
|
|
:cond_0 |
|
new-instance v0, Lcom/google/common/collect/Multisets$FilteredMultiset; |
|
|
|
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Multisets$FilteredMultiset;-><init>(Lcom/google/common/collect/Multiset;Lcom/google/common/base/Predicate;)V |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public static immutableEntry(Ljava/lang/Object;I)Lcom/google/common/collect/Multiset$Entry; |
|
.locals 1 |
|
.param p0 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(TE;I)", |
|
"Lcom/google/common/collect/Multiset$Entry", |
|
"<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 inferDistinctElements(Ljava/lang/Iterable;)I |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/lang/Iterable", |
|
"<*>;)I" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 358 |
|
instance-of v0, p0, Lcom/google/common/collect/Multiset; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 359 |
|
check-cast p0, Lcom/google/common/collect/Multiset; |
|
|
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->elementSet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->size()I |
|
|
|
move-result v0 |
|
|
|
.line 361 |
|
:goto_0 |
|
return v0 |
|
|
|
:cond_0 |
|
const/16 v0, 0xb |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public static intersection(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Lcom/google/common/collect/Multiset; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 457 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 458 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 460 |
|
new-instance v0, Lcom/google/common/collect/Multisets$2; |
|
|
|
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Multisets$2;-><init>(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method static iteratorImpl(Lcom/google/common/collect/Multiset;)Ljava/util/Iterator; |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;)", |
|
"Ljava/util/Iterator", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 993 |
|
new-instance v0, Lcom/google/common/collect/Multisets$MultisetIteratorImpl; |
|
|
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->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/Multisets$MultisetIteratorImpl;-><init>(Lcom/google/common/collect/Multiset;Ljava/util/Iterator;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method static removeAllImpl(Lcom/google/common/collect/Multiset;Ljava/util/Collection;)Z |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;", |
|
"Ljava/util/Collection", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 852 |
|
instance-of v0, p1, Lcom/google/common/collect/Multiset; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
check-cast p1, Lcom/google/common/collect/Multiset; |
|
|
|
invoke-interface {p1}, Lcom/google/common/collect/Multiset;->elementSet()Ljava/util/Set; |
|
|
|
move-result-object p1 |
|
|
|
.line 855 |
|
:cond_0 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->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 public static removeOccurrences(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 730 |
|
invoke-static {p0, p1}, Lcom/google/common/collect/Multisets;->removeOccurrencesImpl(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method private static removeOccurrencesImpl(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
.locals 6 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v2, 0x1 |
|
|
|
.line 739 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 740 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 742 |
|
const/4 v0, 0x0 |
|
|
|
.line 743 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v1 |
|
|
|
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v3 |
|
|
|
move v1, v0 |
|
|
|
.line 744 |
|
:goto_0 |
|
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 745 |
|
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 746 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v4 |
|
|
|
invoke-interface {p1, v4}, Lcom/google/common/collect/Multiset;->count(Ljava/lang/Object;)I |
|
|
|
move-result v4 |
|
|
|
.line 747 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v5 |
|
|
|
if-lt v4, v5, :cond_0 |
|
|
|
.line 748 |
|
invoke-interface {v3}, Ljava/util/Iterator;->remove()V |
|
|
|
move v0, v2 |
|
|
|
:goto_1 |
|
move v1, v0 |
|
|
|
.line 754 |
|
goto :goto_0 |
|
|
|
.line 750 |
|
:cond_0 |
|
if-lez v4, :cond_2 |
|
|
|
.line 751 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {p0, v0, v4}, Lcom/google/common/collect/Multiset;->remove(Ljava/lang/Object;I)I |
|
|
|
move v0, v2 |
|
|
|
.line 752 |
|
goto :goto_1 |
|
|
|
.line 755 |
|
:cond_1 |
|
return v1 |
|
|
|
:cond_2 |
|
move v0, v1 |
|
|
|
goto :goto_1 |
|
.end method |
|
|
|
.method static retainAllImpl(Lcom/google/common/collect/Multiset;Ljava/util/Collection;)Z |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;", |
|
"Ljava/util/Collection", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 863 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 864 |
|
instance-of v0, p1, Lcom/google/common/collect/Multiset; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
check-cast p1, Lcom/google/common/collect/Multiset; |
|
|
|
invoke-interface {p1}, Lcom/google/common/collect/Multiset;->elementSet()Ljava/util/Set; |
|
|
|
move-result-object p1 |
|
|
|
.line 867 |
|
:cond_0 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->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 public static retainOccurrences(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 678 |
|
invoke-static {p0, p1}, Lcom/google/common/collect/Multisets;->retainOccurrencesImpl(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method private static retainOccurrencesImpl(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Z |
|
.locals 6 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v2, 0x1 |
|
|
|
.line 686 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 687 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 689 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v3 |
|
|
|
.line 690 |
|
const/4 v0, 0x0 |
|
|
|
move v1, v0 |
|
|
|
.line 691 |
|
:goto_0 |
|
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 692 |
|
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 693 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v4 |
|
|
|
invoke-interface {p1, v4}, Lcom/google/common/collect/Multiset;->count(Ljava/lang/Object;)I |
|
|
|
move-result v4 |
|
|
|
.line 694 |
|
if-nez v4, :cond_0 |
|
|
|
.line 695 |
|
invoke-interface {v3}, Ljava/util/Iterator;->remove()V |
|
|
|
move v0, v2 |
|
|
|
:goto_1 |
|
move v1, v0 |
|
|
|
.line 701 |
|
goto :goto_0 |
|
|
|
.line 697 |
|
:cond_0 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v5 |
|
|
|
if-ge v4, v5, :cond_2 |
|
|
|
.line 698 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {p0, v0, v4}, Lcom/google/common/collect/Multiset;->setCount(Ljava/lang/Object;I)I |
|
|
|
move v0, v2 |
|
|
|
.line 699 |
|
goto :goto_1 |
|
|
|
.line 702 |
|
:cond_1 |
|
return v1 |
|
|
|
:cond_2 |
|
move v0, v1 |
|
|
|
goto :goto_1 |
|
.end method |
|
|
|
.method static setCountImpl(Lcom/google/common/collect/Multiset;Ljava/lang/Object;I)I |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;TE;I)I" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 874 |
|
const-string v0, "count" |
|
|
|
invoke-static {p2, v0}, Lcom/google/common/collect/CollectPreconditions;->checkNonnegative(ILjava/lang/String;)I |
|
|
|
.line 876 |
|
invoke-interface {p0, p1}, Lcom/google/common/collect/Multiset;->count(Ljava/lang/Object;)I |
|
|
|
move-result v0 |
|
|
|
.line 878 |
|
sub-int v1, p2, v0 |
|
|
|
.line 879 |
|
if-lez v1, :cond_1 |
|
|
|
.line 880 |
|
invoke-interface {p0, p1, v1}, Lcom/google/common/collect/Multiset;->add(Ljava/lang/Object;I)I |
|
|
|
.line 885 |
|
:cond_0 |
|
:goto_0 |
|
return v0 |
|
|
|
.line 881 |
|
:cond_1 |
|
if-gez v1, :cond_0 |
|
|
|
.line 882 |
|
neg-int v1, v1 |
|
|
|
invoke-interface {p0, p1, v1}, Lcom/google/common/collect/Multiset;->remove(Ljava/lang/Object;I)I |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method static setCountImpl(Lcom/google/common/collect/Multiset;Ljava/lang/Object;II)Z |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;TE;II)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 893 |
|
const-string v0, "oldCount" |
|
|
|
invoke-static {p2, v0}, Lcom/google/common/collect/CollectPreconditions;->checkNonnegative(ILjava/lang/String;)I |
|
|
|
.line 894 |
|
const-string v0, "newCount" |
|
|
|
invoke-static {p3, v0}, Lcom/google/common/collect/CollectPreconditions;->checkNonnegative(ILjava/lang/String;)I |
|
|
|
.line 896 |
|
invoke-interface {p0, p1}, Lcom/google/common/collect/Multiset;->count(Ljava/lang/Object;)I |
|
|
|
move-result v0 |
|
|
|
if-ne v0, p2, :cond_0 |
|
|
|
.line 897 |
|
invoke-interface {p0, p1, p3}, Lcom/google/common/collect/Multiset;->setCount(Ljava/lang/Object;I)I |
|
|
|
.line 898 |
|
const/4 v0, 0x1 |
|
|
|
.line 900 |
|
:goto_0 |
|
return v0 |
|
|
|
:cond_0 |
|
const/4 v0, 0x0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method static sizeImpl(Lcom/google/common/collect/Multiset;)I |
|
.locals 5 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<*>;)I" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1049 |
|
const-wide/16 v0, 0x0 |
|
|
|
.line 1050 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multiset;->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_0 |
|
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 1051 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v0 |
|
|
|
int-to-long v0, v0 |
|
|
|
add-long/2addr v0, v2 |
|
|
|
move-wide v2, v0 |
|
|
|
.line 1052 |
|
goto :goto_0 |
|
|
|
.line 1053 |
|
:cond_0 |
|
invoke-static {v2, v3}, Lcom/google/common/primitives/Ints;->saturatedCast(J)I |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method public static sum(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Lcom/google/common/collect/Multiset; |
|
.locals 1 |
|
.annotation build Lcom/google/common/annotations/Beta; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<+TE;>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<+TE;>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 518 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 519 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 522 |
|
new-instance v0, Lcom/google/common/collect/Multisets$3; |
|
|
|
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Multisets$3;-><init>(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public static union(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)Lcom/google/common/collect/Multiset; |
|
.locals 1 |
|
.annotation build Lcom/google/common/annotations/Beta; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<+TE;>;", |
|
"Lcom/google/common/collect/Multiset", |
|
"<+TE;>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 382 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 383 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 385 |
|
new-instance v0, Lcom/google/common/collect/Multisets$1; |
|
|
|
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/Multisets$1;-><init>(Lcom/google/common/collect/Multiset;Lcom/google/common/collect/Multiset;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public static unmodifiableMultiset(Lcom/google/common/collect/ImmutableMultiset;)Lcom/google/common/collect/Multiset; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/ImmutableMultiset", |
|
"<TE;>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.annotation runtime Ljava/lang/Deprecated; |
|
.end annotation |
|
|
|
.prologue |
|
.line 92 |
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public static unmodifiableMultiset(Lcom/google/common/collect/Multiset;)Lcom/google/common/collect/Multiset; |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<+TE;>;)", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 74 |
|
instance-of v0, p0, Lcom/google/common/collect/Multisets$UnmodifiableMultiset; |
|
|
|
if-nez v0, :cond_0 |
|
|
|
instance-of v0, p0, Lcom/google/common/collect/ImmutableMultiset; |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 81 |
|
:cond_0 |
|
:goto_0 |
|
return-object p0 |
|
|
|
:cond_1 |
|
new-instance v1, Lcom/google/common/collect/Multisets$UnmodifiableMultiset; |
|
|
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/Multiset; |
|
|
|
invoke-direct {v1, v0}, Lcom/google/common/collect/Multisets$UnmodifiableMultiset;-><init>(Lcom/google/common/collect/Multiset;)V |
|
|
|
move-object p0, v1 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public static unmodifiableSortedMultiset(Lcom/google/common/collect/SortedMultiset;)Lcom/google/common/collect/SortedMultiset; |
|
.locals 2 |
|
.annotation build Lcom/google/common/annotations/Beta; |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/SortedMultiset", |
|
"<TE;>;)", |
|
"Lcom/google/common/collect/SortedMultiset", |
|
"<TE;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 200 |
|
new-instance v1, Lcom/google/common/collect/UnmodifiableSortedMultiset; |
|
|
|
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Lcom/google/common/collect/SortedMultiset; |
|
|
|
invoke-direct {v1, v0}, Lcom/google/common/collect/UnmodifiableSortedMultiset;-><init>(Lcom/google/common/collect/SortedMultiset;)V |
|
|
|
return-object v1 |
|
.end method
|
|
|