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.
581 lines
14 KiB
581 lines
14 KiB
.class public final Lcom/google/common/collect/EnumBiMap; |
|
.super Lcom/google/common/collect/AbstractBiMap; |
|
.source "EnumBiMap.java" |
|
|
|
|
|
# annotations |
|
.annotation build Lcom/google/common/annotations/GwtCompatible; |
|
emulated = true |
|
.end annotation |
|
|
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Enum", |
|
"<TK;>;V:", |
|
"Ljava/lang/Enum", |
|
"<TV;>;>", |
|
"Lcom/google/common/collect/AbstractBiMap", |
|
"<TK;TV;>;" |
|
} |
|
.end annotation |
|
|
|
|
|
# static fields |
|
.field private static final serialVersionUID:J |
|
.annotation build Lcom/google/common/annotations/GwtIncompatible; |
|
value = "not needed in emulated source." |
|
.end annotation |
|
.end field |
|
|
|
|
|
# instance fields |
|
.field private transient keyType:Ljava/lang/Class; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"Ljava/lang/Class", |
|
"<TK;>;" |
|
} |
|
.end annotation |
|
.end field |
|
|
|
.field private transient valueType:Ljava/lang/Class; |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"Ljava/lang/Class", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
.end field |
|
|
|
|
|
# direct methods |
|
.method private constructor <init>(Ljava/lang/Class;Ljava/lang/Class;)V |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(", |
|
"Ljava/lang/Class", |
|
"<TK;>;", |
|
"Ljava/lang/Class", |
|
"<TV;>;)V" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 79 |
|
new-instance v0, Ljava/util/EnumMap; |
|
|
|
invoke-direct {v0, p1}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V |
|
|
|
invoke-static {v0}, Lcom/google/common/collect/WellBehavedMap;->wrap(Ljava/util/Map;)Lcom/google/common/collect/WellBehavedMap; |
|
|
|
move-result-object v0 |
|
|
|
new-instance v1, Ljava/util/EnumMap; |
|
|
|
invoke-direct {v1, p2}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V |
|
|
|
invoke-static {v1}, Lcom/google/common/collect/WellBehavedMap;->wrap(Ljava/util/Map;)Lcom/google/common/collect/WellBehavedMap; |
|
|
|
move-result-object v1 |
|
|
|
invoke-direct {p0, v0, v1}, Lcom/google/common/collect/AbstractBiMap;-><init>(Ljava/util/Map;Ljava/util/Map;)V |
|
|
|
.line 81 |
|
iput-object p1, p0, Lcom/google/common/collect/EnumBiMap;->keyType:Ljava/lang/Class; |
|
|
|
.line 82 |
|
iput-object p2, p0, Lcom/google/common/collect/EnumBiMap;->valueType:Ljava/lang/Class; |
|
|
|
.line 83 |
|
return-void |
|
.end method |
|
|
|
.method public static create(Ljava/lang/Class;Ljava/lang/Class;)Lcom/google/common/collect/EnumBiMap; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Enum", |
|
"<TK;>;V:", |
|
"Ljava/lang/Enum", |
|
"<TV;>;>(", |
|
"Ljava/lang/Class", |
|
"<TK;>;", |
|
"Ljava/lang/Class", |
|
"<TV;>;)", |
|
"Lcom/google/common/collect/EnumBiMap", |
|
"<TK;TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 58 |
|
new-instance v0, Lcom/google/common/collect/EnumBiMap; |
|
|
|
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/EnumBiMap;-><init>(Ljava/lang/Class;Ljava/lang/Class;)V |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public static create(Ljava/util/Map;)Lcom/google/common/collect/EnumBiMap; |
|
.locals 2 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Enum", |
|
"<TK;>;V:", |
|
"Ljava/lang/Enum", |
|
"<TV;>;>(", |
|
"Ljava/util/Map", |
|
"<TK;TV;>;)", |
|
"Lcom/google/common/collect/EnumBiMap", |
|
"<TK;TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 73 |
|
invoke-static {p0}, Lcom/google/common/collect/EnumBiMap;->inferKeyType(Ljava/util/Map;)Ljava/lang/Class; |
|
|
|
move-result-object v0 |
|
|
|
invoke-static {p0}, Lcom/google/common/collect/EnumBiMap;->inferValueType(Ljava/util/Map;)Ljava/lang/Class; |
|
|
|
move-result-object v1 |
|
|
|
invoke-static {v0, v1}, Lcom/google/common/collect/EnumBiMap;->create(Ljava/lang/Class;Ljava/lang/Class;)Lcom/google/common/collect/EnumBiMap; |
|
|
|
move-result-object v0 |
|
|
|
.line 74 |
|
invoke-virtual {v0, p0}, Lcom/google/common/collect/EnumBiMap;->putAll(Ljava/util/Map;)V |
|
|
|
.line 75 |
|
return-object v0 |
|
.end method |
|
|
|
.method static inferKeyType(Ljava/util/Map;)Ljava/lang/Class; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<K:", |
|
"Ljava/lang/Enum", |
|
"<TK;>;>(", |
|
"Ljava/util/Map", |
|
"<TK;*>;)", |
|
"Ljava/lang/Class", |
|
"<TK;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 86 |
|
instance-of v0, p0, Lcom/google/common/collect/EnumBiMap; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 87 |
|
check-cast p0, Lcom/google/common/collect/EnumBiMap; |
|
|
|
invoke-virtual {p0}, Lcom/google/common/collect/EnumBiMap;->keyType()Ljava/lang/Class; |
|
|
|
move-result-object v0 |
|
|
|
.line 93 |
|
:goto_0 |
|
return-object v0 |
|
|
|
.line 89 |
|
:cond_0 |
|
instance-of v0, p0, Lcom/google/common/collect/EnumHashBiMap; |
|
|
|
if-eqz v0, :cond_1 |
|
|
|
.line 90 |
|
check-cast p0, Lcom/google/common/collect/EnumHashBiMap; |
|
|
|
invoke-virtual {p0}, Lcom/google/common/collect/EnumHashBiMap;->keyType()Ljava/lang/Class; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 92 |
|
:cond_1 |
|
invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z |
|
|
|
move-result v0 |
|
|
|
if-nez v0, :cond_2 |
|
|
|
const/4 v0, 0x1 |
|
|
|
:goto_1 |
|
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V |
|
|
|
.line 93 |
|
invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/lang/Enum; |
|
|
|
invoke-virtual {v0}, Ljava/lang/Enum;->getDeclaringClass()Ljava/lang/Class; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 92 |
|
:cond_2 |
|
const/4 v0, 0x0 |
|
|
|
goto :goto_1 |
|
.end method |
|
|
|
.method private static inferValueType(Ljava/util/Map;)Ljava/lang/Class; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"<V:", |
|
"Ljava/lang/Enum", |
|
"<TV;>;>(", |
|
"Ljava/util/Map", |
|
"<*TV;>;)", |
|
"Ljava/lang/Class", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 97 |
|
instance-of v0, p0, Lcom/google/common/collect/EnumBiMap; |
|
|
|
if-eqz v0, :cond_0 |
|
|
|
.line 98 |
|
check-cast p0, Lcom/google/common/collect/EnumBiMap; |
|
|
|
iget-object v0, p0, Lcom/google/common/collect/EnumBiMap;->valueType:Ljava/lang/Class; |
|
|
|
.line 101 |
|
:goto_0 |
|
return-object v0 |
|
|
|
.line 100 |
|
:cond_0 |
|
invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z |
|
|
|
move-result v0 |
|
|
|
if-nez v0, :cond_1 |
|
|
|
const/4 v0, 0x1 |
|
|
|
:goto_1 |
|
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V |
|
|
|
.line 101 |
|
invoke-interface {p0}, Ljava/util/Map;->values()Ljava/util/Collection; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; |
|
|
|
move-result-object v0 |
|
|
|
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/lang/Enum; |
|
|
|
invoke-virtual {v0}, Ljava/lang/Enum;->getDeclaringClass()Ljava/lang/Class; |
|
|
|
move-result-object v0 |
|
|
|
goto :goto_0 |
|
|
|
.line 100 |
|
:cond_1 |
|
const/4 v0, 0x0 |
|
|
|
goto :goto_1 |
|
.end method |
|
|
|
.method private readObject(Ljava/io/ObjectInputStream;)V |
|
.locals 3 |
|
.annotation build Lcom/google/common/annotations/GwtIncompatible; |
|
value = "java.io.ObjectInputStream" |
|
.end annotation |
|
|
|
.prologue |
|
.line 140 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->defaultReadObject()V |
|
|
|
.line 141 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/lang/Class; |
|
|
|
iput-object v0, p0, Lcom/google/common/collect/EnumBiMap;->keyType:Ljava/lang/Class; |
|
|
|
.line 142 |
|
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/lang/Class; |
|
|
|
iput-object v0, p0, Lcom/google/common/collect/EnumBiMap;->valueType:Ljava/lang/Class; |
|
|
|
.line 143 |
|
new-instance v0, Ljava/util/EnumMap; |
|
|
|
iget-object v1, p0, Lcom/google/common/collect/EnumBiMap;->keyType:Ljava/lang/Class; |
|
|
|
invoke-direct {v0, v1}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V |
|
|
|
invoke-static {v0}, Lcom/google/common/collect/WellBehavedMap;->wrap(Ljava/util/Map;)Lcom/google/common/collect/WellBehavedMap; |
|
|
|
move-result-object v0 |
|
|
|
new-instance v1, Ljava/util/EnumMap; |
|
|
|
iget-object v2, p0, Lcom/google/common/collect/EnumBiMap;->valueType:Ljava/lang/Class; |
|
|
|
invoke-direct {v1, v2}, Ljava/util/EnumMap;-><init>(Ljava/lang/Class;)V |
|
|
|
invoke-static {v1}, Lcom/google/common/collect/WellBehavedMap;->wrap(Ljava/util/Map;)Lcom/google/common/collect/WellBehavedMap; |
|
|
|
move-result-object v1 |
|
|
|
invoke-virtual {p0, v0, v1}, Lcom/google/common/collect/EnumBiMap;->setDelegates(Ljava/util/Map;Ljava/util/Map;)V |
|
|
|
.line 146 |
|
invoke-static {p0, p1}, Lcom/google/common/collect/Serialization;->populateMap(Ljava/util/Map;Ljava/io/ObjectInputStream;)V |
|
|
|
.line 147 |
|
return-void |
|
.end method |
|
|
|
.method private writeObject(Ljava/io/ObjectOutputStream;)V |
|
.locals 1 |
|
.annotation build Lcom/google/common/annotations/GwtIncompatible; |
|
value = "java.io.ObjectOutputStream" |
|
.end annotation |
|
|
|
.prologue |
|
.line 130 |
|
invoke-virtual {p1}, Ljava/io/ObjectOutputStream;->defaultWriteObject()V |
|
|
|
.line 131 |
|
iget-object v0, p0, Lcom/google/common/collect/EnumBiMap;->keyType:Ljava/lang/Class; |
|
|
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
.line 132 |
|
iget-object v0, p0, Lcom/google/common/collect/EnumBiMap;->valueType:Ljava/lang/Class; |
|
|
|
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V |
|
|
|
.line 133 |
|
invoke-static {p0, p1}, Lcom/google/common/collect/Serialization;->writeMap(Ljava/util/Map;Ljava/io/ObjectOutputStream;)V |
|
|
|
.line 134 |
|
return-void |
|
.end method |
|
|
|
|
|
# virtual methods |
|
.method checkKey(Ljava/lang/Enum;)Ljava/lang/Enum; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TK;)TK;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 116 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/lang/Enum; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method bridge synthetic checkKey(Ljava/lang/Object;)Ljava/lang/Object; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
check-cast p1, Ljava/lang/Enum; |
|
|
|
invoke-virtual {p0, p1}, Lcom/google/common/collect/EnumBiMap;->checkKey(Ljava/lang/Enum;)Ljava/lang/Enum; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method checkValue(Ljava/lang/Enum;)Ljava/lang/Enum; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"(TV;)TV;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 121 |
|
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; |
|
|
|
move-result-object v0 |
|
|
|
check-cast v0, Ljava/lang/Enum; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method bridge synthetic checkValue(Ljava/lang/Object;)Ljava/lang/Object; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
check-cast p1, Ljava/lang/Enum; |
|
|
|
invoke-virtual {p0, p1}, Lcom/google/common/collect/EnumBiMap;->checkValue(Ljava/lang/Enum;)Ljava/lang/Enum; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public bridge synthetic clear()V |
|
.locals 0 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractBiMap;->clear()V |
|
|
|
return-void |
|
.end method |
|
|
|
.method public bridge synthetic containsValue(Ljava/lang/Object;)Z |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0, p1}, Lcom/google/common/collect/AbstractBiMap;->containsValue(Ljava/lang/Object;)Z |
|
|
|
move-result v0 |
|
|
|
return v0 |
|
.end method |
|
|
|
.method public bridge synthetic entrySet()Ljava/util/Set; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractBiMap;->entrySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public bridge synthetic inverse()Lcom/google/common/collect/BiMap; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractBiMap;->inverse()Lcom/google/common/collect/BiMap; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public bridge synthetic keySet()Ljava/util/Set; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractBiMap;->keySet()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public keyType()Ljava/lang/Class; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/lang/Class", |
|
"<TK;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 106 |
|
iget-object v0, p0, Lcom/google/common/collect/EnumBiMap;->keyType:Ljava/lang/Class; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public bridge synthetic putAll(Ljava/util/Map;)V |
|
.locals 0 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0, p1}, Lcom/google/common/collect/AbstractBiMap;->putAll(Ljava/util/Map;)V |
|
|
|
return-void |
|
.end method |
|
|
|
.method public valueType()Ljava/lang/Class; |
|
.locals 1 |
|
.annotation system Ldalvik/annotation/Signature; |
|
value = { |
|
"()", |
|
"Ljava/lang/Class", |
|
"<TV;>;" |
|
} |
|
.end annotation |
|
|
|
.prologue |
|
.line 111 |
|
iget-object v0, p0, Lcom/google/common/collect/EnumBiMap;->valueType:Ljava/lang/Class; |
|
|
|
return-object v0 |
|
.end method |
|
|
|
.method public bridge synthetic values()Ljava/util/Set; |
|
.locals 1 |
|
|
|
.prologue |
|
.line 43 |
|
invoke-super {p0}, Lcom/google/common/collect/AbstractBiMap;->values()Ljava/util/Set; |
|
|
|
move-result-object v0 |
|
|
|
return-object v0 |
|
.end method
|
|
|