MapMakerInternalMap$AbstractSerializationProxy.smali
.class abstract Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;
.super Lcom/google/common/collect/ag;
.source "MapMakerInternalMap.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/collect/ag",
"<TK;TV;>;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x3L
# instance fields
.field final concurrencyLevel:I
.field transient delegate:Ljava/util/concurrent/ConcurrentMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentMap",
"<TK;TV;>;"
}
.end annotation
.end field
.field final expireAfterAccessNanos:J
.field final expireAfterWriteNanos:J
.field final keyEquivalence:Lcom/google/common/base/Equivalence;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Equivalence",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field final keyStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
.field final maximumSize:I
.field final removalListener:Lcom/google/common/collect/bc;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/bc",
"<-TK;-TV;>;"
}
.end annotation
.end field
.field final valueEquivalence:Lcom/google/common/base/Equivalence;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Equivalence",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field final valueStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
# direct methods
.method constructor <init>(Lcom/google/common/collect/MapMakerInternalMap$Strength;Lcom/google/common/collect/MapMakerInternalMap$Strength;Lcom/google/common/base/Equivalence;Lcom/google/common/base/Equivalence;JJIILcom/google/common/collect/bc;Ljava/util/concurrent/ConcurrentMap;)V
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/MapMakerInternalMap$Strength;",
"Lcom/google/common/collect/MapMakerInternalMap$Strength;",
"Lcom/google/common/base/Equivalence",
"<",
"Ljava/lang/Object;",
">;",
"Lcom/google/common/base/Equivalence",
"<",
"Ljava/lang/Object;",
">;JJII",
"Lcom/google/common/collect/bc",
"<-TK;-TV;>;",
"Ljava/util/concurrent/ConcurrentMap",
"<TK;TV;>;)V"
}
.end annotation
.prologue
.line 3916
invoke-direct {p0}, Lcom/google/common/collect/ag;-><init>()V
.line 3917
iput-object p1, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->keyStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
.line 3918
iput-object p2, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->valueStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
.line 3919
iput-object p3, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->keyEquivalence:Lcom/google/common/base/Equivalence;
.line 3920
iput-object p4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->valueEquivalence:Lcom/google/common/base/Equivalence;
.line 3921
iput-wide p5, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->expireAfterWriteNanos:J
.line 3922
iput-wide p7, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->expireAfterAccessNanos:J
.line 3923
iput p9, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->maximumSize:I
.line 3924
iput p10, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->concurrencyLevel:I
.line 3925
iput-object p11, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->removalListener:Lcom/google/common/collect/bc;
.line 3926
iput-object p12, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate:Ljava/util/concurrent/ConcurrentMap;
.line 3927
return-void
.end method
# virtual methods
.method protected bridge synthetic delegate()Ljava/lang/Object;
.registers 2
.prologue
.line 3896
invoke-virtual {p0}, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate()Ljava/util/concurrent/ConcurrentMap;
move-result-object v0
return-object v0
.end method
.method protected bridge synthetic delegate()Ljava/util/Map;
.registers 2
.prologue
.line 3896
invoke-virtual {p0}, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate()Ljava/util/concurrent/ConcurrentMap;
move-result-object v0
return-object v0
.end method
.method protected delegate()Ljava/util/concurrent/ConcurrentMap;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/concurrent/ConcurrentMap",
"<TK;TV;>;"
}
.end annotation
.prologue
.line 3931
iget-object v0, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate:Ljava/util/concurrent/ConcurrentMap;
return-object v0
.end method
.method readEntries(Ljava/io/ObjectInputStream;)V
.registers 5
.prologue
.line 3968
:goto_0
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v0
.line 3969
if-eqz v0, :cond_10
.line 3972
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v1
.line 3973
iget-object v2, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v2, v0, v1}, Ljava/util/concurrent/ConcurrentMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 3975
:cond_10
return-void
.end method
.method readMapMaker(Ljava/io/ObjectInputStream;)Lcom/google/common/collect/MapMaker;
.registers 14
.prologue
const-wide/16 v10, 0x0
const/4 v8, -0x1
const/4 v2, 0x0
const/4 v1, 0x1
.line 3945
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I
move-result v3
.line 3946
new-instance v4, Lcom/google/common/collect/MapMaker;
invoke-direct {v4}, Lcom/google/common/collect/MapMaker;-><init>()V
.line 4170
iget v0, v4, Lcom/google/common/collect/MapMaker;->aWh:I
if-ne v0, v8, :cond_10f
move v0, v1
:goto_13
const-string v5, "initial capacity was already set to %s"
new-array v6, v1, [Ljava/lang/Object;
iget v7, v4, Lcom/google/common/collect/MapMaker;->aWh:I
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
aput-object v7, v6, v2
invoke-static {v0, v5, v6}, Lcom/google/common/base/n;->checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 4172
if-ltz v3, :cond_112
move v0, v1
:goto_25
invoke-static {v0}, Lcom/google/common/base/n;->checkArgument(Z)V
.line 4173
iput v3, v4, Lcom/google/common/collect/MapMaker;->aWh:I
.line 3946
iget-object v0, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->keyStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
invoke-virtual {v4, v0}, Lcom/google/common/collect/MapMaker;->a(Lcom/google/common/collect/MapMakerInternalMap$Strength;)Lcom/google/common/collect/MapMaker;
move-result-object v3
iget-object v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->valueStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
.line 4339
iget-object v0, v3, Lcom/google/common/collect/MapMaker;->valueStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
if-nez v0, :cond_115
move v0, v1
:goto_37
const-string v5, "Value strength was already set to %s"
new-array v6, v1, [Ljava/lang/Object;
iget-object v7, v3, Lcom/google/common/collect/MapMaker;->valueStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
aput-object v7, v6, v2
invoke-static {v0, v5, v6}, Lcom/google/common/base/n;->checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 4340
invoke-static {v4}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/collect/MapMakerInternalMap$Strength;
iput-object v0, v3, Lcom/google/common/collect/MapMaker;->valueStrength:Lcom/google/common/collect/MapMakerInternalMap$Strength;
.line 4341
sget-object v0, Lcom/google/common/collect/MapMakerInternalMap$Strength;->STRONG:Lcom/google/common/collect/MapMakerInternalMap$Strength;
if-eq v4, v0, :cond_50
.line 4343
iput-boolean v1, v3, Lcom/google/common/collect/MapMaker;->aWg:Z
.line 3946
:cond_50
iget-object v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->keyEquivalence:Lcom/google/common/base/Equivalence;
.line 5148
iget-object v0, v3, Lcom/google/common/collect/MapMaker;->keyEquivalence:Lcom/google/common/base/Equivalence;
if-nez v0, :cond_118
move v0, v1
:goto_57
const-string v5, "key equivalence was already set to %s"
new-array v6, v1, [Ljava/lang/Object;
iget-object v7, v3, Lcom/google/common/collect/MapMaker;->keyEquivalence:Lcom/google/common/base/Equivalence;
aput-object v7, v6, v2
invoke-static {v0, v5, v6}, Lcom/google/common/base/n;->checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 5149
invoke-static {v4}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/base/Equivalence;
iput-object v0, v3, Lcom/google/common/collect/MapMaker;->keyEquivalence:Lcom/google/common/base/Equivalence;
.line 5150
iput-boolean v1, v3, Lcom/google/common/collect/MapMaker;->aWg:Z
.line 3946
iget v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->concurrencyLevel:I
.line 5240
iget v0, v3, Lcom/google/common/collect/MapMaker;->concurrencyLevel:I
if-ne v0, v8, :cond_11b
move v0, v1
:goto_73
const-string v5, "concurrency level was already set to %s"
new-array v6, v1, [Ljava/lang/Object;
iget v7, v3, Lcom/google/common/collect/MapMaker;->concurrencyLevel:I
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
aput-object v7, v6, v2
invoke-static {v0, v5, v6}, Lcom/google/common/base/n;->checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 5242
if-lez v4, :cond_11e
move v0, v1
:goto_85
invoke-static {v0}, Lcom/google/common/base/n;->checkArgument(Z)V
.line 5243
iput v4, v3, Lcom/google/common/collect/MapMaker;->concurrencyLevel:I
.line 3952
iget-object v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->removalListener:Lcom/google/common/collect/bc;
.line 5482
iget-object v0, v3, Lcom/google/common/collect/MapMaker;->removalListener:Lcom/google/common/collect/bc;
if-nez v0, :cond_121
move v0, v1
:goto_91
invoke-static {v0}, Lcom/google/common/base/n;->checkState(Z)V
.line 5487
invoke-static {v4}, Lcom/google/common/base/n;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/collect/bc;
iput-object v0, v3, Lcom/google/common/collect/GenericMapMaker;->removalListener:Lcom/google/common/collect/bc;
.line 5488
iput-boolean v1, v3, Lcom/google/common/collect/MapMaker;->aWg:Z
.line 3953
iget-wide v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->expireAfterWriteNanos:J
cmp-long v0, v4, v10
if-lez v0, :cond_bf
.line 3954
iget-wide v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->expireAfterWriteNanos:J
sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
.line 6380
invoke-virtual {v3, v4, v5, v0}, Lcom/google/common/collect/MapMaker;->a(JLjava/util/concurrent/TimeUnit;)V
.line 6381
invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v6
iput-wide v6, v3, Lcom/google/common/collect/MapMaker;->expireAfterWriteNanos:J
.line 6382
cmp-long v0, v4, v10
if-nez v0, :cond_bd
iget-object v0, v3, Lcom/google/common/collect/MapMaker;->aWi:Lcom/google/common/collect/MapMaker$RemovalCause;
if-nez v0, :cond_bd
.line 6384
sget-object v0, Lcom/google/common/collect/MapMaker$RemovalCause;->EXPIRED:Lcom/google/common/collect/MapMaker$RemovalCause;
iput-object v0, v3, Lcom/google/common/collect/MapMaker;->aWi:Lcom/google/common/collect/MapMaker$RemovalCause;
.line 6386
:cond_bd
iput-boolean v1, v3, Lcom/google/common/collect/MapMaker;->aWg:Z
.line 3956
:cond_bf
iget-wide v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->expireAfterAccessNanos:J
cmp-long v0, v4, v10
if-lez v0, :cond_e0
.line 3957
iget-wide v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->expireAfterAccessNanos:J
sget-object v0, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
.line 6431
invoke-virtual {v3, v4, v5, v0}, Lcom/google/common/collect/MapMaker;->a(JLjava/util/concurrent/TimeUnit;)V
.line 6432
invoke-virtual {v0, v4, v5}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v6
iput-wide v6, v3, Lcom/google/common/collect/MapMaker;->expireAfterAccessNanos:J
.line 6433
cmp-long v0, v4, v10
if-nez v0, :cond_de
iget-object v0, v3, Lcom/google/common/collect/MapMaker;->aWi:Lcom/google/common/collect/MapMaker$RemovalCause;
if-nez v0, :cond_de
.line 6435
sget-object v0, Lcom/google/common/collect/MapMaker$RemovalCause;->EXPIRED:Lcom/google/common/collect/MapMaker$RemovalCause;
iput-object v0, v3, Lcom/google/common/collect/MapMaker;->aWi:Lcom/google/common/collect/MapMaker$RemovalCause;
.line 6437
:cond_de
iput-boolean v1, v3, Lcom/google/common/collect/MapMaker;->aWg:Z
.line 3959
:cond_e0
iget v0, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->maximumSize:I
if-eq v0, v8, :cond_10e
.line 3960
iget v4, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->maximumSize:I
.line 7207
iget v0, v3, Lcom/google/common/collect/MapMaker;->maximumSize:I
if-ne v0, v8, :cond_124
move v0, v1
:goto_eb
const-string v5, "maximum size was already set to %s"
new-array v6, v1, [Ljava/lang/Object;
iget v7, v3, Lcom/google/common/collect/MapMaker;->maximumSize:I
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
aput-object v7, v6, v2
invoke-static {v0, v5, v6}, Lcom/google/common/base/n;->checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 7209
if-ltz v4, :cond_fd
move v2, v1
:cond_fd
const-string v0, "maximum size must not be negative"
invoke-static {v2, v0}, Lcom/google/common/base/n;->checkArgument(ZLjava/lang/Object;)V
.line 7210
iput v4, v3, Lcom/google/common/collect/MapMaker;->maximumSize:I
.line 7211
iput-boolean v1, v3, Lcom/google/common/collect/MapMaker;->aWg:Z
.line 7212
iget v0, v3, Lcom/google/common/collect/MapMaker;->maximumSize:I
if-nez v0, :cond_10e
.line 7214
sget-object v0, Lcom/google/common/collect/MapMaker$RemovalCause;->SIZE:Lcom/google/common/collect/MapMaker$RemovalCause;
iput-object v0, v3, Lcom/google/common/collect/MapMaker;->aWi:Lcom/google/common/collect/MapMaker$RemovalCause;
.line 3962
:cond_10e
return-object v3
:cond_10f
move v0, v2
.line 4170
goto/16 :goto_13
:cond_112
move v0, v2
.line 4172
goto/16 :goto_25
:cond_115
move v0, v2
.line 4339
goto/16 :goto_37
:cond_118
move v0, v2
.line 5148
goto/16 :goto_57
:cond_11b
move v0, v2
.line 5240
goto/16 :goto_73
:cond_11e
move v0, v2
.line 5242
goto/16 :goto_85
:cond_121
move v0, v2
.line 5482
goto/16 :goto_91
:cond_124
move v0, v2
.line 7207
goto :goto_eb
.end method
.method writeMapTo(Ljava/io/ObjectOutputStream;)V
.registers 5
.prologue
.line 3935
iget-object v0, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v0}, Ljava/util/concurrent/ConcurrentMap;->size()I
move-result v0
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V
.line 3936
iget-object v0, p0, Lcom/google/common/collect/MapMakerInternalMap$AbstractSerializationProxy;->delegate:Ljava/util/concurrent/ConcurrentMap;
invoke-interface {v0}, Ljava/util/concurrent/ConcurrentMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_13
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2e
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 3937
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 3938
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_13
.line 3940
:cond_2e
const/4 v0, 0x0
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
.line 3941
return-void
.end method