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.
572 lines
13 KiB
572 lines
13 KiB
.class final Lcom/google/common/collect/Serialization; |
|
.super Ljava/lang/Object; |
|
.source "Serialization.java" |
|
|
|
|
|
# annotations |
|
.annotation system Ldalvik/annotation/MemberClasses; |
|
value = { |
|
Lcom/google/common/collect/Serialization$1;, |
|
Lcom/google/common/collect/Serialization$FieldSetter; |
|
} |
|
.end annotation |
|
|
|
|
|
# direct methods |
|
.method private constructor <init>()V |
|
.locals 0 |
|
|
|
.prologue |
|
.line 35 |
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V |
|
|
|
return-void |
|
.end method |
|
|
|
.method static getFieldSetter(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/common/collect/Serialization$FieldSetter; |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<T:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Ljava/lang/Class", |
|
"<TT;>;", |
|
"Ljava/lang/String;", |
|
")", |
|
"Lcom/google/common/collect/Serialization$FieldSetter", |
|
"<TT;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 199 |
|
:try_start_0 |
|
invoke-virtual {p0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field; |
|
|
|
move-result-object v0 |
|
|
|
.line 200 |
|
new-instance v1, Lcom/google/common/collect/Serialization$FieldSetter; |
|
|
|
const/4 v2, 0x0 |
|
|
|
invoke-direct {v1, v0, v2}, Lcom/google/common/collect/Serialization$FieldSetter;-><init>(Ljava/lang/reflect/Field;Lcom/google/common/collect/Serialization$1;)V |
|
:try_end_0 |
|
.catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_0} :catch_0 |
|
|
|
return-object v1 |
|
|
|
.line 201 |
|
:catch_0 |
|
move-exception v0 |
|
|
|
.line 202 |
|
new-instance v1, Ljava/lang/AssertionError; |
|
|
|
invoke-direct {v1, v0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V |
|
|
|
throw v1 |
|
.end method |
|
|
|
.method static populateMap(Ljava/util/Map;Ljava/io/ObjectInputStream;)V |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Ljava/util/Map", |
|
"<TK;TV;>;", |
|
"Ljava/io/ObjectInputStream;", |
|
")V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 76 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I |
|
|
|
move-result v0 |
|
|
|
.line 77 |
|
invoke-static {p0, p1, v0}, Lcom/google/common/collect/Serialization;->populateMap(Ljava/util/Map;Ljava/io/ObjectInputStream;I)V |
|
|
|
.line 78 |
|
return-void |
|
.end method |
|
|
|
.method static populateMap(Ljava/util/Map;Ljava/io/ObjectInputStream;I)V |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Ljava/util/Map", |
|
"<TK;TV;>;", |
|
"Ljava/io/ObjectInputStream;", |
|
"I)V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 87 |
|
const/4 v0, 0x0 |
|
|
|
:goto_0 |
|
if-ge v0, p2, :cond_0 |
|
|
|
.line 89 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v1 |
|
|
|
.line 91 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v2 |
|
|
|
.line 92 |
|
invoke-interface {p0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
.line 87 |
|
add-int/lit8 v0, v0, 0x1 |
|
|
|
goto :goto_0 |
|
|
|
.line 94 |
|
:cond_0 |
|
return-void |
|
.end method |
|
|
|
.method static populateMultimap(Lcom/google/common/collect/Multimap;Ljava/io/ObjectInputStream;)V |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multimap", |
|
"<TK;TV;>;", |
|
"Ljava/io/ObjectInputStream;", |
|
")V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 170 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I |
|
|
|
move-result v0 |
|
|
|
.line 171 |
|
invoke-static {p0, p1, v0}, Lcom/google/common/collect/Serialization;->populateMultimap(Lcom/google/common/collect/Multimap;Ljava/io/ObjectInputStream;I)V |
|
|
|
.line 172 |
|
return-void |
|
.end method |
|
|
|
.method static populateMultimap(Lcom/google/common/collect/Multimap;Ljava/io/ObjectInputStream;I)V |
|
.locals 6 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multimap", |
|
"<TK;TV;>;", |
|
"Ljava/io/ObjectInputStream;", |
|
"I)V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
const/4 v1, 0x0 |
|
|
|
.line 182 |
|
move v2, v1 |
|
|
|
:goto_0 |
|
if-ge v2, p2, :cond_1 |
|
|
|
.line 184 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
.line 185 |
|
invoke-interface {p0, v0}, Lcom/google/common/collect/Multimap;->get(Ljava/lang/Object;)Ljava/util/Collection; |
|
|
|
move-result-object v3 |
|
|
|
.line 186 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I |
|
|
|
move-result v4 |
|
|
|
move v0, v1 |
|
|
|
.line 187 |
|
:goto_1 |
|
if-ge v0, v4, :cond_0 |
|
|
|
.line 189 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v5 |
|
|
|
.line 190 |
|
invoke-interface {v3, v5}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z |
|
|
|
.line 187 |
|
add-int/lit8 v0, v0, 0x1 |
|
|
|
goto :goto_1 |
|
|
|
.line 182 |
|
:cond_0 |
|
add-int/lit8 v0, v2, 0x1 |
|
|
|
move v2, v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 193 |
|
:cond_1 |
|
return-void |
|
.end method |
|
|
|
.method static populateMultiset(Lcom/google/common/collect/Multiset;Ljava/io/ObjectInputStream;)V |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Ljava/io/ObjectInputStream;", |
|
")V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 121 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I |
|
|
|
move-result v0 |
|
|
|
.line 122 |
|
invoke-static {p0, p1, v0}, Lcom/google/common/collect/Serialization;->populateMultiset(Lcom/google/common/collect/Multiset;Ljava/io/ObjectInputStream;I)V |
|
|
|
.line 123 |
|
return-void |
|
.end method |
|
|
|
.method static populateMultiset(Lcom/google/common/collect/Multiset;Ljava/io/ObjectInputStream;I)V |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Ljava/io/ObjectInputStream;", |
|
"I)V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 133 |
|
const/4 v0, 0x0 |
|
|
|
:goto_0 |
|
if-ge v0, p2, :cond_0 |
|
|
|
.line 135 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v1 |
|
|
|
.line 136 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I |
|
|
|
move-result v2 |
|
|
|
.line 137 |
|
invoke-interface {p0, v1, v2}, Lcom/google/common/collect/Multiset;->add(Ljava/lang/Object;I)I |
|
|
|
.line 133 |
|
add-int/lit8 v0, v0, 0x1 |
|
|
|
goto :goto_0 |
|
|
|
.line 139 |
|
:cond_0 |
|
return-void |
|
.end method |
|
|
|
.method static readCount(Ljava/io/ObjectInputStream;)I |
|
.locals 1 |
|
|
|
.prologue |
|
.line 50 |
|
invoke-virtual {p0}, Ljava/io/ObjectInputStream;->readInt()I |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method static writeMap(Ljava/util/Map;Ljava/io/ObjectOutputStream;)V |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Ljava/util/Map", |
|
"<TK;TV;>;", |
|
"Ljava/io/ObjectOutputStream;", |
|
")V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 63 |
|
invoke-interface {p0}, Ljava/util/Map;->size()I |
|
|
|
move-result v0 |
|
|
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V |
|
|
|
.line 64 |
|
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->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/Map$Entry; |
|
|
|
.line 65 |
|
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; |
|
|
|
move-result-object v2 |
|
|
|
invoke-virtual {p1, v2}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
.line 66 |
|
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
goto :goto_0 |
|
|
|
.line 68 |
|
:cond_0 |
|
return-void |
|
.end method |
|
|
|
.method static writeMultimap(Lcom/google/common/collect/Multimap;Ljava/io/ObjectOutputStream;)V |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Object;", |
|
"V:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multimap", |
|
"<TK;TV;>;", |
|
"Ljava/io/ObjectOutputStream;", |
|
")V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 153 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multimap;->asMap()Ljava/util/Map; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Map;->size()I |
|
|
|
move-result v0 |
|
|
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V |
|
|
|
.line 154 |
|
invoke-interface {p0}, Lcom/google/common/collect/Multimap;->asMap()Ljava/util/Map; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v2 |
|
|
|
:cond_0 |
|
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v0 |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Map$Entry; |
|
|
|
.line 155 |
|
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; |
|
|
|
move-result-object v1 |
|
|
|
invoke-virtual {p1, v1}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
.line 156 |
|
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; |
|
|
|
move-result-object v1 |
|
|
|
check-cast v1, Ljava/util/Collection; |
|
|
|
invoke-interface {v1}, Ljava/util/Collection;->size()I |
|
|
|
move-result v1 |
|
|
|
invoke-virtual {p1, v1}, Ljava/io/ObjectOutputStream;->writeInt(I)V |
|
|
|
.line 157 |
|
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/util/Collection; |
|
|
|
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
:goto_0 |
|
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z |
|
|
|
move-result v1 |
|
|
|
if-eqz v1, :cond_0 |
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v1 |
|
|
|
.line 158 |
|
invoke-virtual {p1, v1}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
goto :goto_0 |
|
|
|
.line 161 |
|
:cond_1 |
|
return-void |
|
.end method |
|
|
|
.method static writeMultiset(Lcom/google/common/collect/Multiset;Ljava/io/ObjectOutputStream;)V |
|
.locals 3 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<E:", |
|
"Ljava/lang/Object;", |
|
">(", |
|
"Lcom/google/common/collect/Multiset", |
|
"<TE;>;", |
|
"Ljava/io/ObjectOutputStream;", |
|
")V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 106 |
|
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 |
|
|
|
.line 107 |
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V |
|
|
|
.line 108 |
|
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 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, Lcom/google/common/collect/Multiset$Entry; |
|
|
|
.line 109 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getElement()Ljava/lang/Object; |
|
|
|
move-result-object v2 |
|
|
|
invoke-virtual {p1, v2}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
.line 110 |
|
invoke-interface {v0}, Lcom/google/common/collect/Multiset$Entry;->getCount()I |
|
|
|
move-result v0 |
|
|
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V |
|
|
|
goto :goto_0 |
|
|
|
.line 112 |
|
:cond_0 |
|
return-void |
|
.end method
|
|
|