.class final Lcom/google/common/collect/ImmutableEnumMap; .super Lcom/google/common/collect/ImmutableMap$IteratorBasedImmutableMap; .source "ImmutableEnumMap.java" # annotations .annotation build Lcom/google/common/annotations/GwtCompatible; emulated = true serializable = true .end annotation .annotation runtime Lcom/google/common/collect/ElementTypesAreNonnullByDefault; .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/common/collect/ImmutableEnumMap$EnumSerializedForm; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { ";V:", "Ljava/lang/Object;", ">", "Lcom/google/common/collect/ImmutableMap$IteratorBasedImmutableMap<", "TK;TV;>;" } .end annotation # instance fields .field private final transient delegate:Ljava/util/EnumMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/EnumMap<", "TK;TV;>;" } .end annotation .end field # direct methods .method private constructor (Ljava/util/EnumMap;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/EnumMap<", "TK;TV;>;)V" } .end annotation .line 2 invoke-direct {p0}, Lcom/google/common/collect/ImmutableMap$IteratorBasedImmutableMap;->()V .line 3 iput-object p1, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; .line 4 invoke-virtual {p1}, Ljava/util/EnumMap;->isEmpty()Z move-result p1 xor-int/lit8 p1, p1, 0x1 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V return-void .end method .method public synthetic constructor (Ljava/util/EnumMap;Lcom/google/common/collect/ImmutableEnumMap$1;)V .locals 0 .line 1 invoke-direct {p0, p1}, Lcom/google/common/collect/ImmutableEnumMap;->(Ljava/util/EnumMap;)V return-void .end method .method public static asImmutable(Ljava/util/EnumMap;)Lcom/google/common/collect/ImmutableMap; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { ";V:", "Ljava/lang/Object;", ">(", "Ljava/util/EnumMap<", "TK;TV;>;)", "Lcom/google/common/collect/ImmutableMap<", "TK;TV;>;" } .end annotation .line 1 invoke-virtual {p0}, Ljava/util/EnumMap;->size()I move-result v0 if-eqz v0, :cond_1 const/4 v1, 0x1 if-eq v0, v1, :cond_0 .line 2 new-instance v0, Lcom/google/common/collect/ImmutableEnumMap; invoke-direct {v0, p0}, Lcom/google/common/collect/ImmutableEnumMap;->(Ljava/util/EnumMap;)V return-object v0 .line 3 :cond_0 invoke-virtual {p0}, Ljava/util/EnumMap;->entrySet()Ljava/util/Set; move-result-object p0 invoke-static {p0}, Lcom/google/common/collect/Iterables;->getOnlyElement(Ljava/lang/Iterable;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/util/Map$Entry; .line 4 invoke-interface {p0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Enum; invoke-interface {p0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object p0 invoke-static {v0, p0}, Lcom/google/common/collect/ImmutableMap;->of(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap; move-result-object p0 return-object p0 .line 5 :cond_1 invoke-static {}, Lcom/google/common/collect/ImmutableMap;->of()Lcom/google/common/collect/ImmutableMap; move-result-object p0 return-object p0 .end method # virtual methods .method public containsKey(Ljava/lang/Object;)Z .locals 1 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-virtual {v0, p1}, Ljava/util/EnumMap;->containsKey(Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public entryIterator()Lcom/google/common/collect/UnmodifiableIterator; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/collect/UnmodifiableIterator<", "Ljava/util/Map$Entry<", "TK;TV;>;>;" } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-virtual {v0}, Ljava/util/EnumMap;->entrySet()Ljava/util/Set; move-result-object v0 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 invoke-static {v0}, Lcom/google/common/collect/Maps;->unmodifiableEntryIterator(Ljava/util/Iterator;)Lcom/google/common/collect/UnmodifiableIterator; move-result-object v0 return-object v0 .end method .method public equals(Ljava/lang/Object;)Z .locals 1 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param if-ne p1, p0, :cond_0 const/4 p1, 0x1 return p1 .line 1 :cond_0 instance-of v0, p1, Lcom/google/common/collect/ImmutableEnumMap; if-eqz v0, :cond_1 .line 2 check-cast p1, Lcom/google/common/collect/ImmutableEnumMap; iget-object p1, p1, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; .line 3 :cond_1 iget-object v0, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-virtual {v0, p1}, Ljava/util/EnumMap;->equals(Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public get(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TV;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-virtual {v0, p1}, Ljava/util/EnumMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public isPartialView()Z .locals 1 const/4 v0, 0x0 return v0 .end method .method public keyIterator()Lcom/google/common/collect/UnmodifiableIterator; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/collect/UnmodifiableIterator<", "TK;>;" } .end annotation .line 1 iget-object v0, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-virtual {v0}, Ljava/util/EnumMap;->keySet()Ljava/util/Set; move-result-object v0 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 invoke-static {v0}, Lcom/google/common/collect/Iterators;->unmodifiableIterator(Ljava/util/Iterator;)Lcom/google/common/collect/UnmodifiableIterator; move-result-object v0 return-object v0 .end method .method public size()I .locals 1 .line 1 iget-object v0, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-virtual {v0}, Ljava/util/EnumMap;->size()I move-result v0 return v0 .end method .method public writeReplace()Ljava/lang/Object; .locals 2 .line 1 new-instance v0, Lcom/google/common/collect/ImmutableEnumMap$EnumSerializedForm; iget-object v1, p0, Lcom/google/common/collect/ImmutableEnumMap;->delegate:Ljava/util/EnumMap; invoke-direct {v0, v1}, Lcom/google/common/collect/ImmutableEnumMap$EnumSerializedForm;->(Ljava/util/EnumMap;)V return-object v0 .end method