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.
1204 lines
31 KiB
1204 lines
31 KiB
.class abstract Lcom/google/common/collect/AbstractMapBasedMultimap; |
|
.super Lcom/google/common/collect/AbstractMultimap; |
|
.source "AbstractMapBasedMultimap.java" |
|
|
|
# interfaces |
|
.implements Ljava/io/Serializable; |
|
|
|
|
|
# annotations |
|
.annotation build Lcom/google/common/annotations/GwtCompatible; |
|
emulated = true |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/MemberClasses; |
|
value = { |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$SortedAsMap;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$AsMap;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$Itr;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$SortedKeySet;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$KeySet;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$RandomAccessWrappedList;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedList;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedSortedSet;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedSet;, |
|
Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection; |
|
} |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">", |
|
"Lcom/google/common/collect/AbstractMultimap", |
|
"<TK;TV;>;", |
|
"Ljava/io/Serializable;" |
|
} |
|
.end annotation |
|
|
|
|
|
# static fields |
|
.field private static final serialVersionUID:J = 0x21f766b1f568c81dL |
|
|
|
|
|
# instance fields |
|
.field private transient map:Ljava/util/Map; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"Ljava/util/Map", |
|
"<TK;", |
|
"Ljava/util/Collection", |
|
"<TV;>;>;" |
|
} |
|
.end annotation |
|
.end field |
|
|
|
.field private transient totalSize:I |
|
|
|
|
|
# direct methods |
|
.method protected constructor <init>(Ljava/util/Map;)V |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/util/Map", |
|
"<TK;", |
|
"Ljava/util/Collection", |
|
"<TV;>;>;)V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 120 |
|
invoke-direct {p0}, Lcom/google/common/collect/AbstractMultimap;-><init>()V |
|
|
|
.line 121 |
|
invoke-interface {p1}, Ljava/util/Map;->isEmpty()Z |
|
|
|
move-result v0 |
|
|
|
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V |
|
|
|
.line 122 |
|
iput-object p1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
.line 123 |
|
return-void |
|
.end method |
|
|
|
.method static synthetic access$000(Lcom/google/common/collect/AbstractMapBasedMultimap;)Ljava/util/Map; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 89 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method static synthetic access$100(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/util/Collection;)Ljava/util/Iterator; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 89 |
|
invoke-direct {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->iteratorOrListIterator(Ljava/util/Collection;)Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method static synthetic access$208(Lcom/google/common/collect/AbstractMapBasedMultimap;)I |
|
.locals 2 |
|
|
|
.prologue |
|
.line 89 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
add-int/lit8 v1, v0, 0x1 |
|
|
|
iput v1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
return v0 |
|
.end method |
|
|
|
.method static synthetic access$210(Lcom/google/common/collect/AbstractMapBasedMultimap;)I |
|
.locals 2 |
|
|
|
.prologue |
|
.line 89 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
add-int/lit8 v1, v0, -0x1 |
|
|
|
iput v1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
return v0 |
|
.end method |
|
|
|
.method static synthetic access$212(Lcom/google/common/collect/AbstractMapBasedMultimap;I)I |
|
.locals 1 |
|
|
|
.prologue |
|
.line 89 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
add-int/2addr v0, p1 |
|
|
|
iput v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
return v0 |
|
.end method |
|
|
|
.method static synthetic access$220(Lcom/google/common/collect/AbstractMapBasedMultimap;I)I |
|
.locals 1 |
|
|
|
.prologue |
|
.line 89 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
sub-int/2addr v0, p1 |
|
|
|
iput v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
return v0 |
|
.end method |
|
|
|
.method static synthetic access$300(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;Ljava/util/List;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)Ljava/util/List; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 89 |
|
invoke-direct {p0, p1, p2, p3}, Lcom/google/common/collect/AbstractMapBasedMultimap;->wrapList(Ljava/lang/Object;Ljava/util/List;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)Ljava/util/List; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method static synthetic access$400(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;)I |
|
.locals 1 |
|
|
|
.prologue |
|
.line 89 |
|
invoke-direct {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->removeValuesForKey(Ljava/lang/Object;)I |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method private getOrCreateCollection(Ljava/lang/Object;)Ljava/util/Collection; |
|
.locals 2 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;)", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 209 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 210 |
|
if-nez v0, :cond_0 |
|
|
|
.line 211 |
|
invoke-virtual {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection(Ljava/lang/Object;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
.line 212 |
|
iget-object v1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 214 |
|
:cond_0 |
|
return-object v0 |
|
.end method |
|
|
|
.method private iteratorOrListIterator(Ljava/util/Collection;)Ljava/util/Iterator; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/util/Collection", |
|
"<TV;>;)", |
|
"Ljava/util/Iterator", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 593 |
|
instance-of v0, p1, Ljava/util/List; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
check-cast p1, Ljava/util/List; |
|
|
|
invoke-interface {p1}, Ljava/util/List;->listIterator()Ljava/util/ListIterator; |
|
|
|
move-result-object v0 |
|
|
|
:goto_0 |
|
return-object v0 |
|
|
|
:cond_0 |
|
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method private removeValuesForKey(Ljava/lang/Object;)I |
|
.locals 2 |
|
|
|
.prologue |
|
.line 950 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-static {v0, p1}, Lcom/google/common/collect/Maps;->safeRemove(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 952 |
|
const/4 v1, 0x0 |
|
|
|
.line 953 |
|
if-eqz v0, :cond_0 |
|
|
|
.line 954 |
|
invoke-interface {v0}, Ljava/util/Collection;->size()I |
|
|
|
move-result v1 |
|
|
|
.line 955 |
|
invoke-interface {v0}, Ljava/util/Collection;->clear()V |
|
|
|
.line 956 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
sub-int/2addr v0, v1 |
|
|
|
iput v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
:cond_0 |
|
move v0, v1 |
|
|
|
.line 958 |
|
return v0 |
|
.end method |
|
|
|
.method private wrapList(Ljava/lang/Object;Ljava/util/List;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)Ljava/util/List; |
|
.locals 1 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.param p3 # Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;", |
|
"Ljava/util/List", |
|
"<TV;>;", |
|
"Lcom/google/common/collect/AbstractMapBasedMultimap", |
|
"<TK;TV;>.WrappedCollection;)", |
|
"Ljava/util/List", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 330 |
|
instance-of v0, p2, Ljava/util/RandomAccess; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$RandomAccessWrappedList; |
|
|
|
invoke-direct {v0, p0, p1, p2, p3}, Lcom/google/common/collect/AbstractMapBasedMultimap$RandomAccessWrappedList;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;Ljava/util/List;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)V |
|
|
|
:goto_0 |
|
return-object v0 |
|
|
|
:cond_0 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedList; |
|
|
|
invoke-direct {v0, p0, p1, p2, p3}, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedList;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;Ljava/util/List;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)V |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
|
|
# virtual methods |
|
.method backingMap()Ljava/util/Map; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Map", |
|
"<TK;", |
|
"Ljava/util/Collection", |
|
"<TV;>;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 171 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public clear()V |
|
.locals 2 |
|
|
|
.prologue |
|
.line 286 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v1 |
|
|
|
:goto_0 |
|
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 287 |
|
invoke-interface {v0}, Ljava/util/Collection;->clear()V |
|
|
|
goto :goto_0 |
|
|
|
.line 289 |
|
:cond_0 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0}, Ljava/util/Map;->clear()V |
|
|
|
.line 290 |
|
const/4 v0, 0x0 |
|
|
|
iput v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
.line 291 |
|
return-void |
|
.end method |
|
|
|
.method public containsKey(Ljava/lang/Object;)Z |
|
.locals 1 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
|
|
.prologue |
|
.line 183 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method createAsMap()Ljava/util/Map; |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Map", |
|
"<TK;", |
|
"Ljava/util/Collection", |
|
"<TV;>;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1065 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
instance-of v0, v0, Ljava/util/SortedMap; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
new-instance v1, Lcom/google/common/collect/AbstractMapBasedMultimap$SortedAsMap; |
|
|
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
check-cast v0, Ljava/util/SortedMap; |
|
|
|
invoke-direct {v1, p0, v0}, Lcom/google/common/collect/AbstractMapBasedMultimap$SortedAsMap;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/util/SortedMap;)V |
|
|
|
move-object v0, v1 |
|
|
|
:goto_0 |
|
return-object v0 |
|
|
|
:cond_0 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$AsMap; |
|
|
|
iget-object v1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-direct {v0, p0, v1}, Lcom/google/common/collect/AbstractMapBasedMultimap$AsMap;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/util/Map;)V |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method abstract createCollection()Ljava/util/Collection; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
.end method |
|
|
|
.method createCollection(Ljava/lang/Object;)Ljava/util/Collection; |
|
.locals 1 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;)", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 167 |
|
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method createKeySet()Ljava/util/Set; |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Set", |
|
"<TK;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 838 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
instance-of v0, v0, Ljava/util/SortedMap; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
new-instance v1, Lcom/google/common/collect/AbstractMapBasedMultimap$SortedKeySet; |
|
|
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
check-cast v0, Ljava/util/SortedMap; |
|
|
|
invoke-direct {v1, p0, v0}, Lcom/google/common/collect/AbstractMapBasedMultimap$SortedKeySet;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/util/SortedMap;)V |
|
|
|
move-object v0, v1 |
|
|
|
:goto_0 |
|
return-object v0 |
|
|
|
:cond_0 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$KeySet; |
|
|
|
iget-object v1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-direct {v0, p0, v1}, Lcom/google/common/collect/AbstractMapBasedMultimap$KeySet;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/util/Map;)V |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method createUnmodifiableEmptyCollection()Ljava/util/Collection; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 141 |
|
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
invoke-virtual {p0, v0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->unmodifiableCollectionSubclass(Ljava/util/Collection;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public entries()Ljava/util/Collection; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Collection", |
|
"<", |
|
"Ljava/util/Map$Entry", |
|
"<TK;TV;>;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1040 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractMultimap;->entries()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method entryIterator()Ljava/util/Iterator; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Iterator", |
|
"<", |
|
"Ljava/util/Map$Entry", |
|
"<TK;TV;>;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1053 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$2; |
|
|
|
invoke-direct {v0, p0}, Lcom/google/common/collect/AbstractMapBasedMultimap$2;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public get(Ljava/lang/Object;)Ljava/util/Collection; |
|
.locals 1 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;)", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 302 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 303 |
|
if-nez v0, :cond_0 |
|
|
|
.line 304 |
|
invoke-virtual {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection(Ljava/lang/Object;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
.line 306 |
|
:cond_0 |
|
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->wrapCollection(Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public put(Ljava/lang/Object;Ljava/lang/Object;)Z |
|
.locals 3 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.param p2 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;TV;)Z" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v1, 0x1 |
|
|
|
.line 190 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 191 |
|
if-nez v0, :cond_1 |
|
|
|
.line 192 |
|
invoke-virtual {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection(Ljava/lang/Object;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
.line 193 |
|
invoke-interface {v0, p2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z |
|
|
|
move-result v2 |
|
|
|
if-eqz v2, :cond_0 |
|
|
|
.line 194 |
|
iget v2, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
add-int/lit8 v2, v2, 0x1 |
|
|
|
iput v2, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
.line 195 |
|
iget-object v2, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v2, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move v0, v1 |
|
|
|
.line 204 |
|
:goto_0 |
|
return v0 |
|
|
|
.line 198 |
|
:cond_0 |
|
new-instance v0, Ljava/lang/AssertionError; |
|
|
|
const-string v1, "New Collection violated the Collection spec" |
|
|
|
invoke-direct {v0, v1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V |
|
|
|
throw v0 |
|
|
|
.line 200 |
|
:cond_1 |
|
invoke-interface {v0, p2}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_2 |
|
|
|
.line 201 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
add-int/lit8 v0, v0, 0x1 |
|
|
|
iput v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
move v0, v1 |
|
|
|
.line 202 |
|
goto :goto_0 |
|
|
|
.line 204 |
|
:cond_2 |
|
const/4 v0, 0x0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public removeAll(Ljava/lang/Object;)Ljava/util/Collection; |
|
.locals 4 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/lang/Object;", |
|
")", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 255 |
|
iget-object v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 257 |
|
if-nez v0, :cond_0 |
|
|
|
.line 258 |
|
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createUnmodifiableEmptyCollection()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
.line 266 |
|
:goto_0 |
|
return-object v0 |
|
|
|
.line 261 |
|
:cond_0 |
|
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection()Ljava/util/Collection; |
|
|
|
move-result-object v1 |
|
|
|
.line 262 |
|
invoke-interface {v1, v0}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z |
|
|
|
.line 263 |
|
iget v2, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
invoke-interface {v0}, Ljava/util/Collection;->size()I |
|
|
|
move-result v3 |
|
|
|
sub-int/2addr v2, v3 |
|
|
|
iput v2, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
.line 264 |
|
invoke-interface {v0}, Ljava/util/Collection;->clear()V |
|
|
|
.line 266 |
|
invoke-virtual {p0, v1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->unmodifiableCollectionSubclass(Ljava/util/Collection;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method public replaceValues(Ljava/lang/Object;Ljava/lang/Iterable;)Ljava/util/Collection; |
|
.locals 5 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;", |
|
"Ljava/lang/Iterable", |
|
"<+TV;>;)", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 226 |
|
invoke-interface {p2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
.line 227 |
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v1 |
|
|
|
if-nez v1, :cond_0 |
|
|
|
.line 228 |
|
invoke-virtual {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->removeAll(Ljava/lang/Object;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
.line 245 |
|
:goto_0 |
|
return-object v0 |
|
|
|
.line 232 |
|
:cond_0 |
|
invoke-direct {p0, p1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->getOrCreateCollection(Ljava/lang/Object;)Ljava/util/Collection; |
|
|
|
move-result-object v1 |
|
|
|
.line 233 |
|
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapBasedMultimap;->createCollection()Ljava/util/Collection; |
|
|
|
move-result-object v2 |
|
|
|
.line 234 |
|
invoke-interface {v2, v1}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z |
|
|
|
.line 236 |
|
iget v3, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
invoke-interface {v1}, Ljava/util/Collection;->size()I |
|
|
|
move-result v4 |
|
|
|
sub-int/2addr v3, v4 |
|
|
|
iput v3, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
.line 237 |
|
invoke-interface {v1}, Ljava/util/Collection;->clear()V |
|
|
|
.line 239 |
|
:cond_1 |
|
:goto_1 |
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v3 |
|
|
|
if-eqz v3, :cond_2 |
|
|
|
.line 240 |
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v3 |
|
|
|
invoke-interface {v1, v3}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z |
|
|
|
move-result v3 |
|
|
|
if-eqz v3, :cond_1 |
|
|
|
.line 241 |
|
iget v3, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
add-int/lit8 v3, v3, 0x1 |
|
|
|
iput v3, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
goto :goto_1 |
|
|
|
.line 245 |
|
:cond_2 |
|
invoke-virtual {p0, v2}, Lcom/google/common/collect/AbstractMapBasedMultimap;->unmodifiableCollectionSubclass(Ljava/util/Collection;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method final setMap(Ljava/util/Map;)V |
|
.locals 4 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/util/Map", |
|
"<TK;", |
|
"Ljava/util/Collection", |
|
"<TV;>;>;)V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v2, 0x0 |
|
|
|
.line 127 |
|
iput-object p1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->map:Ljava/util/Map; |
|
|
|
.line 128 |
|
iput v2, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
.line 129 |
|
invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v3 |
|
|
|
:goto_0 |
|
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
.line 130 |
|
invoke-interface {v0}, Ljava/util/Collection;->isEmpty()Z |
|
|
|
move-result v1 |
|
|
|
if-nez v1, :cond_0 |
|
|
|
const/4 v1, 0x1 |
|
|
|
:goto_1 |
|
invoke-static {v1}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V |
|
|
|
.line 131 |
|
iget v1, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
invoke-interface {v0}, Ljava/util/Collection;->size()I |
|
|
|
move-result v0 |
|
|
|
add-int/2addr v0, v1 |
|
|
|
iput v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
goto :goto_0 |
|
|
|
:cond_0 |
|
move v1, v2 |
|
|
|
.line 130 |
|
goto :goto_1 |
|
|
|
.line 133 |
|
:cond_1 |
|
return-void |
|
.end method |
|
|
|
.method public size()I |
|
.locals 1 |
|
|
|
.prologue |
|
.line 178 |
|
iget v0, p0, Lcom/google/common/collect/AbstractMapBasedMultimap;->totalSize:I |
|
|
|
return v0 |
|
.end method |
|
|
|
.method unmodifiableCollectionSubclass(Ljava/util/Collection;)Ljava/util/Collection; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/util/Collection", |
|
"<TV;>;)", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 272 |
|
instance-of v0, p1, Ljava/util/SortedSet; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 273 |
|
check-cast p1, Ljava/util/SortedSet; |
|
|
|
invoke-static {p1}, Ljava/util/Collections;->unmodifiableSortedSet(Ljava/util/SortedSet;)Ljava/util/SortedSet; |
|
|
|
move-result-object v0 |
|
|
|
.line 279 |
|
:goto_0 |
|
return-object v0 |
|
|
|
.line 274 |
|
:cond_0 |
|
instance-of v0, p1, Ljava/util/Set; |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 275 |
|
check-cast p1, Ljava/util/Set; |
|
|
|
invoke-static {p1}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 276 |
|
:cond_1 |
|
instance-of v0, p1, Ljava/util/List; |
|
|
|
if-eqz v0, :cond_2 |
|
|
|
.line 277 |
|
check-cast p1, Ljava/util/List; |
|
|
|
invoke-static {p1}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 279 |
|
:cond_2 |
|
invoke-static {p1}, Ljava/util/Collections;->unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
.end method |
|
|
|
.method valueIterator()Ljava/util/Iterator; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Iterator", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1014 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$1; |
|
|
|
invoke-direct {v0, p0}, Lcom/google/common/collect/AbstractMapBasedMultimap$1;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public values()Ljava/util/Collection; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 1009 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractMultimap;->values()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method wrapCollection(Ljava/lang/Object;Ljava/util/Collection;)Ljava/util/Collection; |
|
.locals 2 |
|
.param p1 # Ljava/lang/Object; |
|
.annotation runtime Ljavax/annotation/Nullable; |
|
.end annotation |
|
.end param |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;", |
|
"Ljava/util/Collection", |
|
"<TV;>;)", |
|
"Ljava/util/Collection", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v1, 0x0 |
|
|
|
.line 317 |
|
instance-of v0, p2, Ljava/util/SortedSet; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 318 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedSortedSet; |
|
|
|
check-cast p2, Ljava/util/SortedSet; |
|
|
|
invoke-direct {v0, p0, p1, p2, v1}, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedSortedSet;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;Ljava/util/SortedSet;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)V |
|
|
|
.line 324 |
|
:goto_0 |
|
return-object v0 |
|
|
|
.line 319 |
|
:cond_0 |
|
instance-of v0, p2, Ljava/util/Set; |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 320 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedSet; |
|
|
|
check-cast p2, Ljava/util/Set; |
|
|
|
invoke-direct {v0, p0, p1, p2}, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedSet;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;Ljava/util/Set;)V |
|
|
|
goto :goto_0 |
|
|
|
.line 321 |
|
:cond_1 |
|
instance-of v0, p2, Ljava/util/List; |
|
|
|
if-eqz v0, :cond_2 |
|
|
|
.line 322 |
|
check-cast p2, Ljava/util/List; |
|
|
|
invoke-direct {p0, p1, p2, v1}, Lcom/google/common/collect/AbstractMapBasedMultimap;->wrapList(Ljava/lang/Object;Ljava/util/List;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)Ljava/util/List; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 324 |
|
:cond_2 |
|
new-instance v0, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection; |
|
|
|
invoke-direct {v0, p0, p1, p2, v1}, Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;-><init>(Lcom/google/common/collect/AbstractMapBasedMultimap;Ljava/lang/Object;Ljava/util/Collection;Lcom/google/common/collect/AbstractMapBasedMultimap$WrappedCollection;)V |
|
|
|
goto :goto_0 |
|
.end method
|
|
|