.class Lcom/google/common/collect/StandardTable$Row; .super Lcom/google/common/collect/Maps$IteratorBasedAbstractMap; .source "StandardTable.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/collect/StandardTable; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x1 name = "Row" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/collect/Maps$IteratorBasedAbstractMap<", "TC;TV;>;" } .end annotation # instance fields .field public backingRowMap:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "TC;TV;>;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .end field .field public final rowKey:Ljava/lang/Object; .annotation system Ldalvik/annotation/Signature; value = { "TR;" } .end annotation .end field .field public final synthetic this$0:Lcom/google/common/collect/StandardTable; # direct methods .method public constructor (Lcom/google/common/collect/StandardTable;Ljava/lang/Object;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(TR;)V" } .end annotation .line 1 iput-object p1, p0, Lcom/google/common/collect/StandardTable$Row;->this$0:Lcom/google/common/collect/StandardTable; invoke-direct {p0}, Lcom/google/common/collect/Maps$IteratorBasedAbstractMap;->()V .line 2 invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 iput-object p1, p0, Lcom/google/common/collect/StandardTable$Row;->rowKey:Ljava/lang/Object; return-void .end method # virtual methods .method public clear()V .locals 1 .line 1 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-eqz v0, :cond_0 .line 3 invoke-interface {v0}, Ljava/util/Map;->clear()V .line 4 :cond_0 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->maintainEmptyInvariant()V return-void .end method .method public computeBackingRowMap()Ljava/util/Map; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "TC;TV;>;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->this$0:Lcom/google/common/collect/StandardTable; iget-object v0, v0, Lcom/google/common/collect/StandardTable;->backingMap:Ljava/util/Map; iget-object v1, p0, Lcom/google/common/collect/StandardTable$Row;->rowKey:Ljava/lang/Object; invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map; return-object v0 .end method .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 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V if-eqz p1, :cond_0 .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-eqz v0, :cond_0 invoke-static {v0, p1}, Lcom/google/common/collect/Maps;->safeContainsKey(Ljava/util/Map;Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public entryIterator()Ljava/util/Iterator; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Iterator<", "Ljava/util/Map$Entry<", "TC;TV;>;>;" } .end annotation .line 1 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-nez v0, :cond_0 .line 3 invoke-static {}, Lcom/google/common/collect/Iterators;->emptyModifiableIterator()Ljava/util/Iterator; move-result-object v0 return-object v0 .line 4 :cond_0 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 v0 .line 5 new-instance v1, Lcom/google/common/collect/StandardTable$Row$1; invoke-direct {v1, p0, v0}, Lcom/google/common/collect/StandardTable$Row$1;->(Lcom/google/common/collect/StandardTable$Row;Ljava/util/Iterator;)V return-object v1 .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 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V if-eqz p1, :cond_0 .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-eqz v0, :cond_0 invoke-static {v0, p1}, Lcom/google/common/collect/Maps;->safeGet(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return-object p1 .end method .method public maintainEmptyInvariant()V .locals 2 .line 1 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-eqz v0, :cond_0 invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z move-result v0 if-eqz v0, :cond_0 .line 3 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->this$0:Lcom/google/common/collect/StandardTable; iget-object v0, v0, Lcom/google/common/collect/StandardTable;->backingMap:Ljava/util/Map; iget-object v1, p0, Lcom/google/common/collect/StandardTable$Row;->rowKey:Ljava/lang/Object; invoke-interface {v0, v1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; const/4 v0, 0x0 .line 4 iput-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; :cond_0 return-void .end method .method public put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TC;TV;)TV;" } .end annotation .annotation runtime Ljavax/annotation/CheckForNull; .end annotation .line 1 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 2 invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 3 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-eqz v0, :cond_0 invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z move-result v0 if-nez v0, :cond_0 .line 4 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .line 5 :cond_0 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->this$0:Lcom/google/common/collect/StandardTable; iget-object v1, p0, Lcom/google/common/collect/StandardTable$Row;->rowKey:Ljava/lang/Object; invoke-virtual {v0, v1, p1, p2}, Lcom/google/common/collect/StandardTable;->put(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public remove(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 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-nez v0, :cond_0 const/4 p1, 0x0 return-object p1 .line 3 :cond_0 invoke-static {v0, p1}, Lcom/google/common/collect/Maps;->safeRemove(Ljava/util/Map;Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 .line 4 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->maintainEmptyInvariant()V return-object p1 .end method .method public size()I .locals 1 .line 1 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->updateBackingRowMapField()V .line 2 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-nez v0, :cond_0 const/4 v0, 0x0 goto :goto_0 :cond_0 invoke-interface {v0}, Ljava/util/Map;->size()I move-result v0 :goto_0 return v0 .end method .method public final updateBackingRowMapField()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; if-eqz v0, :cond_0 invoke-interface {v0}, Ljava/util/Map;->isEmpty()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->this$0:Lcom/google/common/collect/StandardTable; iget-object v0, v0, Lcom/google/common/collect/StandardTable;->backingMap:Ljava/util/Map; iget-object v1, p0, Lcom/google/common/collect/StandardTable$Row;->rowKey:Ljava/lang/Object; invoke-interface {v0, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 .line 2 :cond_0 invoke-virtual {p0}, Lcom/google/common/collect/StandardTable$Row;->computeBackingRowMap()Ljava/util/Map; move-result-object v0 iput-object v0, p0, Lcom/google/common/collect/StandardTable$Row;->backingRowMap:Ljava/util/Map; :cond_1 return-void .end method .method public wrapEntry(Ljava/util/Map$Entry;)Ljava/util/Map$Entry; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Map$Entry<", "TC;TV;>;)", "Ljava/util/Map$Entry<", "TC;TV;>;" } .end annotation .line 1 new-instance v0, Lcom/google/common/collect/StandardTable$Row$2; invoke-direct {v0, p0, p1}, Lcom/google/common/collect/StandardTable$Row$2;->(Lcom/google/common/collect/StandardTable$Row;Ljava/util/Map$Entry;)V return-object v0 .end method