2022-06-10 21:38:30 +09:00

1939 lines
49 KiB
Smali

.class public final Lcom/google/common/cache/CacheBuilder;
.super Ljava/lang/Object;
.source "CacheBuilder.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/cache/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/cache/CacheBuilder$OneWeigher;,
Lcom/google/common/cache/CacheBuilder$NullListener;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static final CACHE_STATS_COUNTER:Lcom/google/common/base/Supplier;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Supplier<",
"Lcom/google/common/cache/AbstractCache$StatsCounter;",
">;"
}
.end annotation
.end field
.field private static final DEFAULT_CONCURRENCY_LEVEL:I = 0x4
.field private static final DEFAULT_EXPIRATION_NANOS:I = 0x0
.field private static final DEFAULT_INITIAL_CAPACITY:I = 0x10
.field private static final DEFAULT_REFRESH_NANOS:I = 0x0
.field public static final EMPTY_STATS:Lcom/google/common/cache/CacheStats;
.field public static final NULL_STATS_COUNTER:Lcom/google/common/base/Supplier;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Supplier<",
"+",
"Lcom/google/common/cache/AbstractCache$StatsCounter;",
">;"
}
.end annotation
.end field
.field public static final NULL_TICKER:Lcom/google/common/base/Ticker;
.field public static final UNSET_INT:I = -0x1
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field public concurrencyLevel:I
.field public expireAfterAccessNanos:J
.field public expireAfterWriteNanos:J
.field public initialCapacity:I
.field public 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 public keyStrength:Lcom/google/common/cache/LocalCache$Strength;
.field public maximumSize:J
.field public maximumWeight:J
.field public refreshNanos:J
.field public removalListener:Lcom/google/common/cache/RemovalListener;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/cache/RemovalListener<",
"-TK;-TV;>;"
}
.end annotation
.end field
.field public statsCounterSupplier:Lcom/google/common/base/Supplier;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Supplier<",
"+",
"Lcom/google/common/cache/AbstractCache$StatsCounter;",
">;"
}
.end annotation
.end field
.field public strictParsing:Z
.field public ticker:Lcom/google/common/base/Ticker;
.field public 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 public valueStrength:Lcom/google/common/cache/LocalCache$Strength;
.field public weigher:Lcom/google/common/cache/Weigher;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/cache/Weigher<",
"-TK;-TV;>;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 14
.line 1
new-instance v0, Lcom/google/common/cache/CacheBuilder$1;
invoke-direct {v0}, Lcom/google/common/cache/CacheBuilder$1;-><init>()V
.line 2
invoke-static {v0}, Lcom/google/common/base/Suppliers;->ofInstance(Ljava/lang/Object;)Lcom/google/common/base/Supplier;
move-result-object v0
sput-object v0, Lcom/google/common/cache/CacheBuilder;->NULL_STATS_COUNTER:Lcom/google/common/base/Supplier;
.line 3
new-instance v0, Lcom/google/common/cache/CacheStats;
const-wide/16 v2, 0x0
const-wide/16 v4, 0x0
const-wide/16 v6, 0x0
const-wide/16 v8, 0x0
const-wide/16 v10, 0x0
const-wide/16 v12, 0x0
move-object v1, v0
invoke-direct/range {v1 .. v13}, Lcom/google/common/cache/CacheStats;-><init>(JJJJJJ)V
sput-object v0, Lcom/google/common/cache/CacheBuilder;->EMPTY_STATS:Lcom/google/common/cache/CacheStats;
.line 4
new-instance v0, Lcom/google/common/cache/CacheBuilder$2;
invoke-direct {v0}, Lcom/google/common/cache/CacheBuilder$2;-><init>()V
sput-object v0, Lcom/google/common/cache/CacheBuilder;->CACHE_STATS_COUNTER:Lcom/google/common/base/Supplier;
.line 5
new-instance v0, Lcom/google/common/cache/CacheBuilder$3;
invoke-direct {v0}, Lcom/google/common/cache/CacheBuilder$3;-><init>()V
sput-object v0, Lcom/google/common/cache/CacheBuilder;->NULL_TICKER:Lcom/google/common/base/Ticker;
.line 6
const-class v0, Lcom/google/common/cache/CacheBuilder;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/google/common/cache/CacheBuilder;->logger:Ljava/util/logging/Logger;
return-void
.end method
.method private constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lcom/google/common/cache/CacheBuilder;->strictParsing:Z
const/4 v0, -0x1
.line 3
iput v0, p0, Lcom/google/common/cache/CacheBuilder;->initialCapacity:I
.line 4
iput v0, p0, Lcom/google/common/cache/CacheBuilder;->concurrencyLevel:I
const-wide/16 v0, -0x1
.line 5
iput-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
.line 6
iput-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
.line 7
iput-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterWriteNanos:J
.line 8
iput-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterAccessNanos:J
.line 9
iput-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->refreshNanos:J
.line 10
sget-object v0, Lcom/google/common/cache/CacheBuilder;->NULL_STATS_COUNTER:Lcom/google/common/base/Supplier;
iput-object v0, p0, Lcom/google/common/cache/CacheBuilder;->statsCounterSupplier:Lcom/google/common/base/Supplier;
return-void
.end method
.method private checkNonLoadingCache()V
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->refreshNanos:J
const-wide/16 v2, -0x1
cmp-long v0, v0, v2
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "refreshAfterWrite requires a LoadingCache"
invoke-static {v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
return-void
.end method
.method private checkWeightWithWeigher()V
.locals 7
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->weigher:Lcom/google/common/cache/Weigher;
const/4 v1, 0x1
const/4 v2, 0x0
const-wide/16 v3, -0x1
if-nez v0, :cond_1
.line 2
iget-wide v5, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
cmp-long v0, v5, v3
if-nez v0, :cond_0
goto :goto_0
:cond_0
move v1, v2
:goto_0
const-string v0, "maximumWeight requires weigher"
invoke-static {v1, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
goto :goto_2
.line 3
:cond_1
iget-boolean v0, p0, Lcom/google/common/cache/CacheBuilder;->strictParsing:Z
if-eqz v0, :cond_3
.line 4
iget-wide v5, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
cmp-long v0, v5, v3
if-eqz v0, :cond_2
goto :goto_1
:cond_2
move v1, v2
:goto_1
const-string v0, "weigher requires maximumWeight"
invoke-static {v1, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
goto :goto_2
.line 5
:cond_3
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
cmp-long v0, v0, v3
if-nez v0, :cond_4
.line 6
sget-object v0, Lcom/google/common/cache/CacheBuilder;->logger:Ljava/util/logging/Logger;
sget-object v1, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v2, "ignoring weigher specified without maximumWeight"
invoke-virtual {v0, v1, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
:cond_4
:goto_2
return-void
.end method
.method public static from(Lcom/google/common/cache/CacheBuilderSpec;)Lcom/google/common/cache/CacheBuilder;
.locals 0
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/cache/CacheBuilderSpec;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/cache/CacheBuilderSpec;->toCacheBuilder()Lcom/google/common/cache/CacheBuilder;
move-result-object p0
invoke-virtual {p0}, Lcom/google/common/cache/CacheBuilder;->lenientParsing()Lcom/google/common/cache/CacheBuilder;
move-result-object p0
return-object p0
.end method
.method public static from(Ljava/lang/String;)Lcom/google/common/cache/CacheBuilder;
.locals 0
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 2
invoke-static {p0}, Lcom/google/common/cache/CacheBuilderSpec;->parse(Ljava/lang/String;)Lcom/google/common/cache/CacheBuilderSpec;
move-result-object p0
invoke-static {p0}, Lcom/google/common/cache/CacheBuilder;->from(Lcom/google/common/cache/CacheBuilderSpec;)Lcom/google/common/cache/CacheBuilder;
move-result-object p0
return-object p0
.end method
.method public static newBuilder()Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/cache/CacheBuilder<",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/cache/CacheBuilder;
invoke-direct {v0}, Lcom/google/common/cache/CacheBuilder;-><init>()V
return-object v0
.end method
# virtual methods
.method public build()Lcom/google/common/cache/Cache;
.locals 1
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K1:TK;V1:TV;>()",
"Lcom/google/common/cache/Cache<",
"TK1;TV1;>;"
}
.end annotation
.line 3
invoke-direct {p0}, Lcom/google/common/cache/CacheBuilder;->checkWeightWithWeigher()V
.line 4
invoke-direct {p0}, Lcom/google/common/cache/CacheBuilder;->checkNonLoadingCache()V
.line 5
new-instance v0, Lcom/google/common/cache/LocalCache$LocalManualCache;
invoke-direct {v0, p0}, Lcom/google/common/cache/LocalCache$LocalManualCache;-><init>(Lcom/google/common/cache/CacheBuilder;)V
return-object v0
.end method
.method public build(Lcom/google/common/cache/CacheLoader;)Lcom/google/common/cache/LoadingCache;
.locals 1
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K1:TK;V1:TV;>(",
"Lcom/google/common/cache/CacheLoader<",
"-TK1;TV1;>;)",
"Lcom/google/common/cache/LoadingCache<",
"TK1;TV1;>;"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/common/cache/CacheBuilder;->checkWeightWithWeigher()V
.line 2
new-instance v0, Lcom/google/common/cache/LocalCache$LocalLoadingCache;
invoke-direct {v0, p0, p1}, Lcom/google/common/cache/LocalCache$LocalLoadingCache;-><init>(Lcom/google/common/cache/CacheBuilder;Lcom/google/common/cache/CacheLoader;)V
return-object v0
.end method
.method public concurrencyLevel(I)Lcom/google/common/cache/CacheBuilder;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget v0, p0, Lcom/google/common/cache/CacheBuilder;->concurrencyLevel:I
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, -0x1
if-ne v0, v3, :cond_0
move v3, v1
goto :goto_0
:cond_0
move v3, v2
:goto_0
const-string v4, "concurrency level was already set to %s"
invoke-static {v3, v4, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;I)V
if-lez p1, :cond_1
goto :goto_1
:cond_1
move v1, v2
.line 2
:goto_1
invoke-static {v1}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 3
iput p1, p0, Lcom/google/common/cache/CacheBuilder;->concurrencyLevel:I
return-object p0
.end method
.method public expireAfterAccess(JLjava/util/concurrent/TimeUnit;)Lcom/google/common/cache/CacheBuilder;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/util/concurrent/TimeUnit;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterAccessNanos:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
const/4 v3, 0x1
const/4 v4, 0x0
if-nez v2, :cond_0
move v2, v3
goto :goto_0
:cond_0
move v2, v4
:goto_0
const-string v5, "expireAfterAccess was already set to %s ns"
invoke-static {v2, v5, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-ltz v0, :cond_1
goto :goto_1
:cond_1
move v3, v4
:goto_1
const-string v0, "duration cannot be negative: %s %s"
.line 2
invoke-static {v3, v0, p1, p2, p3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;JLjava/lang/Object;)V
.line 3
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide p1
iput-wide p1, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterAccessNanos:J
return-object p0
.end method
.method public expireAfterWrite(JLjava/util/concurrent/TimeUnit;)Lcom/google/common/cache/CacheBuilder;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/util/concurrent/TimeUnit;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterWriteNanos:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
const/4 v3, 0x1
const/4 v4, 0x0
if-nez v2, :cond_0
move v2, v3
goto :goto_0
:cond_0
move v2, v4
:goto_0
const-string v5, "expireAfterWrite was already set to %s ns"
invoke-static {v2, v5, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-ltz v0, :cond_1
goto :goto_1
:cond_1
move v3, v4
:goto_1
const-string v0, "duration cannot be negative: %s %s"
.line 2
invoke-static {v3, v0, p1, p2, p3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;JLjava/lang/Object;)V
.line 3
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide p1
iput-wide p1, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterWriteNanos:J
return-object p0
.end method
.method public getConcurrencyLevel()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/cache/CacheBuilder;->concurrencyLevel:I
const/4 v1, -0x1
if-ne v0, v1, :cond_0
const/4 v0, 0x4
:cond_0
return v0
.end method
.method public getExpireAfterAccessNanos()J
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterAccessNanos:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
if-nez v2, :cond_0
const-wide/16 v0, 0x0
:cond_0
return-wide v0
.end method
.method public getExpireAfterWriteNanos()J
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterWriteNanos:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
if-nez v2, :cond_0
const-wide/16 v0, 0x0
:cond_0
return-wide v0
.end method
.method public getInitialCapacity()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/cache/CacheBuilder;->initialCapacity:I
const/4 v1, -0x1
if-ne v0, v1, :cond_0
const/16 v0, 0x10
:cond_0
return v0
.end method
.method public getKeyEquivalence()Lcom/google/common/base/Equivalence;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/base/Equivalence<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->keyEquivalence:Lcom/google/common/base/Equivalence;
invoke-virtual {p0}, Lcom/google/common/cache/CacheBuilder;->getKeyStrength()Lcom/google/common/cache/LocalCache$Strength;
move-result-object v1
invoke-virtual {v1}, Lcom/google/common/cache/LocalCache$Strength;->defaultEquivalence()Lcom/google/common/base/Equivalence;
move-result-object v1
invoke-static {v0, v1}, Lcom/google/common/base/MoreObjects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/base/Equivalence;
return-object v0
.end method
.method public getKeyStrength()Lcom/google/common/cache/LocalCache$Strength;
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->keyStrength:Lcom/google/common/cache/LocalCache$Strength;
sget-object v1, Lcom/google/common/cache/LocalCache$Strength;->STRONG:Lcom/google/common/cache/LocalCache$Strength;
invoke-static {v0, v1}, Lcom/google/common/base/MoreObjects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/cache/LocalCache$Strength;
return-object v0
.end method
.method public getMaximumWeight()J
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterWriteNanos:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_2
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterAccessNanos:J
cmp-long v0, v0, v2
if-nez v0, :cond_0
goto :goto_1
.line 2
:cond_0
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->weigher:Lcom/google/common/cache/Weigher;
if-nez v0, :cond_1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
goto :goto_0
:cond_1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
:goto_0
return-wide v0
:cond_2
:goto_1
return-wide v2
.end method
.method public getRefreshNanos()J
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->refreshNanos:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
if-nez v2, :cond_0
const-wide/16 v0, 0x0
:cond_0
return-wide v0
.end method
.method public getRemovalListener()Lcom/google/common/cache/RemovalListener;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<K1:TK;V1:TV;>()",
"Lcom/google/common/cache/RemovalListener<",
"TK1;TV1;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->removalListener:Lcom/google/common/cache/RemovalListener;
sget-object v1, Lcom/google/common/cache/CacheBuilder$NullListener;->INSTANCE:Lcom/google/common/cache/CacheBuilder$NullListener;
.line 2
invoke-static {v0, v1}, Lcom/google/common/base/MoreObjects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/cache/RemovalListener;
return-object v0
.end method
.method public getStatsCounterSupplier()Lcom/google/common/base/Supplier;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/base/Supplier<",
"+",
"Lcom/google/common/cache/AbstractCache$StatsCounter;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->statsCounterSupplier:Lcom/google/common/base/Supplier;
return-object v0
.end method
.method public getTicker(Z)Lcom/google/common/base/Ticker;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->ticker:Lcom/google/common/base/Ticker;
if-eqz v0, :cond_0
return-object v0
:cond_0
if-eqz p1, :cond_1
.line 2
invoke-static {}, Lcom/google/common/base/Ticker;->systemTicker()Lcom/google/common/base/Ticker;
move-result-object p1
goto :goto_0
:cond_1
sget-object p1, Lcom/google/common/cache/CacheBuilder;->NULL_TICKER:Lcom/google/common/base/Ticker;
:goto_0
return-object p1
.end method
.method public getValueEquivalence()Lcom/google/common/base/Equivalence;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/base/Equivalence<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->valueEquivalence:Lcom/google/common/base/Equivalence;
invoke-virtual {p0}, Lcom/google/common/cache/CacheBuilder;->getValueStrength()Lcom/google/common/cache/LocalCache$Strength;
move-result-object v1
invoke-virtual {v1}, Lcom/google/common/cache/LocalCache$Strength;->defaultEquivalence()Lcom/google/common/base/Equivalence;
move-result-object v1
invoke-static {v0, v1}, Lcom/google/common/base/MoreObjects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/base/Equivalence;
return-object v0
.end method
.method public getValueStrength()Lcom/google/common/cache/LocalCache$Strength;
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->valueStrength:Lcom/google/common/cache/LocalCache$Strength;
sget-object v1, Lcom/google/common/cache/LocalCache$Strength;->STRONG:Lcom/google/common/cache/LocalCache$Strength;
invoke-static {v0, v1}, Lcom/google/common/base/MoreObjects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/cache/LocalCache$Strength;
return-object v0
.end method
.method public getWeigher()Lcom/google/common/cache/Weigher;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<K1:TK;V1:TV;>()",
"Lcom/google/common/cache/Weigher<",
"TK1;TV1;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->weigher:Lcom/google/common/cache/Weigher;
sget-object v1, Lcom/google/common/cache/CacheBuilder$OneWeigher;->INSTANCE:Lcom/google/common/cache/CacheBuilder$OneWeigher;
invoke-static {v0, v1}, Lcom/google/common/base/MoreObjects;->firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/common/cache/Weigher;
return-object v0
.end method
.method public initialCapacity(I)Lcom/google/common/cache/CacheBuilder;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget v0, p0, Lcom/google/common/cache/CacheBuilder;->initialCapacity:I
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, -0x1
if-ne v0, v3, :cond_0
move v3, v1
goto :goto_0
:cond_0
move v3, v2
:goto_0
const-string v4, "initial capacity was already set to %s"
invoke-static {v3, v4, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;I)V
if-ltz p1, :cond_1
goto :goto_1
:cond_1
move v1, v2
.line 2
:goto_1
invoke-static {v1}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 3
iput p1, p0, Lcom/google/common/cache/CacheBuilder;->initialCapacity:I
return-object p0
.end method
.method public isRecordingStats()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->statsCounterSupplier:Lcom/google/common/base/Supplier;
sget-object v1, Lcom/google/common/cache/CacheBuilder;->CACHE_STATS_COUNTER:Lcom/google/common/base/Supplier;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public keyEquivalence(Lcom/google/common/base/Equivalence;)Lcom/google/common/cache/CacheBuilder;
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/base/Equivalence<",
"Ljava/lang/Object;",
">;)",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->keyEquivalence:Lcom/google/common/base/Equivalence;
if-nez v0, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "key equivalence was already set to %s"
invoke-static {v1, v2, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;Ljava/lang/Object;)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/base/Equivalence;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->keyEquivalence:Lcom/google/common/base/Equivalence;
return-object p0
.end method
.method public lenientParsing()Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
const/4 v0, 0x0
.line 1
iput-boolean v0, p0, Lcom/google/common/cache/CacheBuilder;->strictParsing:Z
return-object p0
.end method
.method public maximumSize(J)Lcom/google/common/cache/CacheBuilder;
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(J)",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
const-wide/16 v2, -0x1
cmp-long v4, v0, v2
const/4 v5, 0x1
const/4 v6, 0x0
if-nez v4, :cond_0
move v4, v5
goto :goto_0
:cond_0
move v4, v6
:goto_0
const-string v7, "maximum size was already set to %s"
invoke-static {v4, v7, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
.line 2
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
cmp-long v2, v0, v2
if-nez v2, :cond_1
move v2, v5
goto :goto_1
:cond_1
move v2, v6
:goto_1
const-string v3, "maximum weight was already set to %s"
invoke-static {v2, v3, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
.line 3
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->weigher:Lcom/google/common/cache/Weigher;
if-nez v0, :cond_2
move v0, v5
goto :goto_2
:cond_2
move v0, v6
:goto_2
const-string v1, "maximum size can not be combined with weigher"
invoke-static {v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-ltz v0, :cond_3
goto :goto_3
:cond_3
move v5, v6
:goto_3
const-string v0, "maximum size must not be negative"
.line 4
invoke-static {v5, v0}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/Object;)V
.line 5
iput-wide p1, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
return-object p0
.end method
.method public maximumWeight(J)Lcom/google/common/cache/CacheBuilder;
.locals 8
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(J)",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
const-wide/16 v2, -0x1
cmp-long v4, v0, v2
const/4 v5, 0x1
const/4 v6, 0x0
if-nez v4, :cond_0
move v4, v5
goto :goto_0
:cond_0
move v4, v6
:goto_0
const-string v7, "maximum weight was already set to %s"
invoke-static {v4, v7, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
.line 2
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
cmp-long v2, v0, v2
if-nez v2, :cond_1
move v2, v5
goto :goto_1
:cond_1
move v2, v6
:goto_1
const-string v3, "maximum size was already set to %s"
invoke-static {v2, v3, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-ltz v0, :cond_2
goto :goto_2
:cond_2
move v5, v6
:goto_2
const-string v0, "maximum weight must not be negative"
.line 3
invoke-static {v5, v0}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/Object;)V
.line 4
iput-wide p1, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
return-object p0
.end method
.method public recordStats()Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/cache/CacheBuilder;->CACHE_STATS_COUNTER:Lcom/google/common/base/Supplier;
iput-object v0, p0, Lcom/google/common/cache/CacheBuilder;->statsCounterSupplier:Lcom/google/common/base/Supplier;
return-object p0
.end method
.method public refreshAfterWrite(JLjava/util/concurrent/TimeUnit;)Lcom/google/common/cache/CacheBuilder;
.locals 6
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/util/concurrent/TimeUnit;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
invoke-static {p3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-wide v0, p0, Lcom/google/common/cache/CacheBuilder;->refreshNanos:J
const-wide/16 v2, -0x1
cmp-long v2, v0, v2
const/4 v3, 0x1
const/4 v4, 0x0
if-nez v2, :cond_0
move v2, v3
goto :goto_0
:cond_0
move v2, v4
:goto_0
const-string v5, "refresh was already set to %s ns"
invoke-static {v2, v5, v0, v1}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-lez v0, :cond_1
goto :goto_1
:cond_1
move v3, v4
:goto_1
const-string v0, "duration must be positive: %s %s"
.line 3
invoke-static {v3, v0, p1, p2, p3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;JLjava/lang/Object;)V
.line 4
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide p1
iput-wide p1, p0, Lcom/google/common/cache/CacheBuilder;->refreshNanos:J
return-object p0
.end method
.method public removalListener(Lcom/google/common/cache/RemovalListener;)Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K1:TK;V1:TV;>(",
"Lcom/google/common/cache/RemovalListener<",
"-TK1;-TV1;>;)",
"Lcom/google/common/cache/CacheBuilder<",
"TK1;TV1;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->removalListener:Lcom/google/common/cache/RemovalListener;
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkState(Z)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/cache/RemovalListener;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->removalListener:Lcom/google/common/cache/RemovalListener;
return-object p0
.end method
.method public setKeyStrength(Lcom/google/common/cache/LocalCache$Strength;)Lcom/google/common/cache/CacheBuilder;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/cache/LocalCache$Strength;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->keyStrength:Lcom/google/common/cache/LocalCache$Strength;
if-nez v0, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "Key strength was already set to %s"
invoke-static {v1, v2, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;Ljava/lang/Object;)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/cache/LocalCache$Strength;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->keyStrength:Lcom/google/common/cache/LocalCache$Strength;
return-object p0
.end method
.method public setValueStrength(Lcom/google/common/cache/LocalCache$Strength;)Lcom/google/common/cache/CacheBuilder;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/cache/LocalCache$Strength;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->valueStrength:Lcom/google/common/cache/LocalCache$Strength;
if-nez v0, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "Value strength was already set to %s"
invoke-static {v1, v2, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;Ljava/lang/Object;)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/cache/LocalCache$Strength;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->valueStrength:Lcom/google/common/cache/LocalCache$Strength;
return-object p0
.end method
.method public softValues()Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/cache/LocalCache$Strength;->SOFT:Lcom/google/common/cache/LocalCache$Strength;
invoke-virtual {p0, v0}, Lcom/google/common/cache/CacheBuilder;->setValueStrength(Lcom/google/common/cache/LocalCache$Strength;)Lcom/google/common/cache/CacheBuilder;
move-result-object v0
return-object v0
.end method
.method public ticker(Lcom/google/common/base/Ticker;)Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/base/Ticker;",
")",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->ticker:Lcom/google/common/base/Ticker;
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkState(Z)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/base/Ticker;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->ticker:Lcom/google/common/base/Ticker;
return-object p0
.end method
.method public toString()Ljava/lang/String;
.locals 8
.line 1
invoke-static {p0}, Lcom/google/common/base/MoreObjects;->toStringHelper(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
move-result-object v0
.line 2
iget v1, p0, Lcom/google/common/cache/CacheBuilder;->initialCapacity:I
const/4 v2, -0x1
if-eq v1, v2, :cond_0
const-string v3, "initialCapacity"
.line 3
invoke-virtual {v0, v3, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;I)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 4
:cond_0
iget v1, p0, Lcom/google/common/cache/CacheBuilder;->concurrencyLevel:I
if-eq v1, v2, :cond_1
const-string v2, "concurrencyLevel"
.line 5
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;I)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 6
:cond_1
iget-wide v1, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
const-wide/16 v3, -0x1
cmp-long v5, v1, v3
if-eqz v5, :cond_2
const-string v5, "maximumSize"
.line 7
invoke-virtual {v0, v5, v1, v2}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;J)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 8
:cond_2
iget-wide v1, p0, Lcom/google/common/cache/CacheBuilder;->maximumWeight:J
cmp-long v5, v1, v3
if-eqz v5, :cond_3
const-string v5, "maximumWeight"
.line 9
invoke-virtual {v0, v5, v1, v2}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;J)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 10
:cond_3
iget-wide v1, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterWriteNanos:J
cmp-long v5, v1, v3
const-string v6, "ns"
const/16 v7, 0x16
if-eqz v5, :cond_4
.line 11
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5, v7}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v5, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "expireAfterWrite"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 12
:cond_4
iget-wide v1, p0, Lcom/google/common/cache/CacheBuilder;->expireAfterAccessNanos:J
cmp-long v3, v1, v3
if-eqz v3, :cond_5
.line 13
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v7}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v3, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "expireAfterAccess"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 14
:cond_5
iget-object v1, p0, Lcom/google/common/cache/CacheBuilder;->keyStrength:Lcom/google/common/cache/LocalCache$Strength;
if-eqz v1, :cond_6
.line 15
invoke-virtual {v1}, Ljava/lang/Enum;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/google/common/base/Ascii;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "keyStrength"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 16
:cond_6
iget-object v1, p0, Lcom/google/common/cache/CacheBuilder;->valueStrength:Lcom/google/common/cache/LocalCache$Strength;
if-eqz v1, :cond_7
.line 17
invoke-virtual {v1}, Ljava/lang/Enum;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/google/common/base/Ascii;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "valueStrength"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->add(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 18
:cond_7
iget-object v1, p0, Lcom/google/common/cache/CacheBuilder;->keyEquivalence:Lcom/google/common/base/Equivalence;
if-eqz v1, :cond_8
const-string v1, "keyEquivalence"
.line 19
invoke-virtual {v0, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->addValue(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 20
:cond_8
iget-object v1, p0, Lcom/google/common/cache/CacheBuilder;->valueEquivalence:Lcom/google/common/base/Equivalence;
if-eqz v1, :cond_9
const-string v1, "valueEquivalence"
.line 21
invoke-virtual {v0, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->addValue(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 22
:cond_9
iget-object v1, p0, Lcom/google/common/cache/CacheBuilder;->removalListener:Lcom/google/common/cache/RemovalListener;
if-eqz v1, :cond_a
const-string v1, "removalListener"
.line 23
invoke-virtual {v0, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->addValue(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.line 24
:cond_a
invoke-virtual {v0}, Lcom/google/common/base/MoreObjects$ToStringHelper;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public valueEquivalence(Lcom/google/common/base/Equivalence;)Lcom/google/common/cache/CacheBuilder;
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/base/Equivalence<",
"Ljava/lang/Object;",
">;)",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->valueEquivalence:Lcom/google/common/base/Equivalence;
if-nez v0, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "value equivalence was already set to %s"
invoke-static {v1, v2, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;Ljava/lang/Object;)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/base/Equivalence;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->valueEquivalence:Lcom/google/common/base/Equivalence;
return-object p0
.end method
.method public weakKeys()Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/cache/LocalCache$Strength;->WEAK:Lcom/google/common/cache/LocalCache$Strength;
invoke-virtual {p0, v0}, Lcom/google/common/cache/CacheBuilder;->setKeyStrength(Lcom/google/common/cache/LocalCache$Strength;)Lcom/google/common/cache/CacheBuilder;
move-result-object v0
return-object v0
.end method
.method public weakValues()Lcom/google/common/cache/CacheBuilder;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/cache/CacheBuilder<",
"TK;TV;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/cache/LocalCache$Strength;->WEAK:Lcom/google/common/cache/LocalCache$Strength;
invoke-virtual {p0, v0}, Lcom/google/common/cache/CacheBuilder;->setValueStrength(Lcom/google/common/cache/LocalCache$Strength;)Lcom/google/common/cache/CacheBuilder;
move-result-object v0
return-object v0
.end method
.method public weigher(Lcom/google/common/cache/Weigher;)Lcom/google/common/cache/CacheBuilder;
.locals 7
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K1:TK;V1:TV;>(",
"Lcom/google/common/cache/Weigher<",
"-TK1;-TV1;>;)",
"Lcom/google/common/cache/CacheBuilder<",
"TK1;TV1;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/cache/CacheBuilder;->weigher:Lcom/google/common/cache/Weigher;
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_0
move v0, v1
goto :goto_0
:cond_0
move v0, v2
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkState(Z)V
.line 2
iget-boolean v0, p0, Lcom/google/common/cache/CacheBuilder;->strictParsing:Z
if-eqz v0, :cond_2
.line 3
iget-wide v3, p0, Lcom/google/common/cache/CacheBuilder;->maximumSize:J
const-wide/16 v5, -0x1
cmp-long v0, v3, v5
if-nez v0, :cond_1
goto :goto_1
:cond_1
move v1, v2
:goto_1
const-string v0, "weigher can not be combined with maximum size"
invoke-static {v1, v0, v3, v4}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;J)V
.line 4
:cond_2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/cache/Weigher;
iput-object p1, p0, Lcom/google/common/cache/CacheBuilder;->weigher:Lcom/google/common/cache/Weigher;
return-object p0
.end method