.class Lcom/google/common/collect/Interners$WeakInterner; .super Ljava/lang/Object; .source "Interners.java" # interfaces .implements Lcom/google/common/collect/Interner; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/collect/Interners; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0xa name = "WeakInterner" .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/common/collect/Interners$WeakInterner$Dummy; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lcom/google/common/collect/Interner", ";" } .end annotation # instance fields .field private final map:Lcom/google/common/collect/MapMakerInternalMap; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/collect/MapMakerInternalMap", ";" } .end annotation .end field # direct methods .method private constructor ()V .locals 2 .prologue .line 66 invoke-direct {p0}, Ljava/lang/Object;->()V .line 68 new-instance v0, Lcom/google/common/collect/MapMaker; invoke-direct {v0}, Lcom/google/common/collect/MapMaker;->()V invoke-virtual {v0}, Lcom/google/common/collect/MapMaker;->weakKeys()Lcom/google/common/collect/MapMaker; move-result-object v0 invoke-static {}, Lcom/google/common/base/Equivalence;->equals()Lcom/google/common/base/Equivalence; move-result-object v1 invoke-virtual {v0, v1}, Lcom/google/common/collect/MapMaker;->keyEquivalence(Lcom/google/common/base/Equivalence;)Lcom/google/common/collect/MapMaker; move-result-object v0 invoke-virtual {v0}, Lcom/google/common/collect/MapMaker;->makeCustomMap()Lcom/google/common/collect/MapMakerInternalMap; move-result-object v0 iput-object v0, p0, Lcom/google/common/collect/Interners$WeakInterner;->map:Lcom/google/common/collect/MapMakerInternalMap; .line 99 return-void .end method .method synthetic constructor (Lcom/google/common/collect/Interners$1;)V .locals 0 .prologue .line 66 invoke-direct {p0}, Lcom/google/common/collect/Interners$WeakInterner;->()V return-void .end method # virtual methods .method public intern(Ljava/lang/Object;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TE;)TE;" } .end annotation .prologue .line 76 :cond_0 iget-object v0, p0, Lcom/google/common/collect/Interners$WeakInterner;->map:Lcom/google/common/collect/MapMakerInternalMap; invoke-virtual {v0, p1}, Lcom/google/common/collect/MapMakerInternalMap;->getEntry(Ljava/lang/Object;)Lcom/google/common/collect/MapMakerInternalMap$ReferenceEntry; move-result-object v0 .line 77 if-eqz v0, :cond_1 .line 78 invoke-interface {v0}, Lcom/google/common/collect/MapMakerInternalMap$ReferenceEntry;->getKey()Ljava/lang/Object; move-result-object v0 .line 79 if-eqz v0, :cond_1 move-object p1, v0 .line 87 :goto_0 return-object p1 .line 85 :cond_1 iget-object v0, p0, Lcom/google/common/collect/Interners$WeakInterner;->map:Lcom/google/common/collect/MapMakerInternalMap; sget-object v1, Lcom/google/common/collect/Interners$WeakInterner$Dummy;->VALUE:Lcom/google/common/collect/Interners$WeakInterner$Dummy; invoke-virtual {v0, p1, v1}, Lcom/google/common/collect/MapMakerInternalMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/google/common/collect/Interners$WeakInterner$Dummy; .line 86 if-nez v0, :cond_0 goto :goto_0 .end method