public final class com.google.common.cache.CacheBuilder extends java.lang.Object
{
private static final int DEFAULT_INITIAL_CAPACITY;
private static final int DEFAULT_CONCURRENCY_LEVEL;
private static final int DEFAULT_EXPIRATION_NANOS;
private static final int DEFAULT_REFRESH_NANOS;
static final com.google.common.base.Supplier NULL_STATS_COUNTER;
static final com.google.common.cache.CacheStats EMPTY_STATS;
static final com.google.common.base.Supplier CACHE_STATS_COUNTER;
static final com.google.common.base.Ticker NULL_TICKER;
private static final java.util.logging.Logger logger;
static final int UNSET_INT;
boolean strictParsing;
int initialCapacity;
int concurrencyLevel;
long maximumSize;
long maximumWeight;
com.google.common.cache.Weigher weigher;
com.google.common.cache.LocalCache$Strength keyStrength;
com.google.common.cache.LocalCache$Strength valueStrength;
long expireAfterWriteNanos;
long expireAfterAccessNanos;
long refreshNanos;
com.google.common.base.Equivalence keyEquivalence;
com.google.common.base.Equivalence valueEquivalence;
com.google.common.cache.RemovalListener removalListener;
com.google.common.base.Ticker ticker;
com.google.common.base.Supplier statsCounterSupplier;
private void <init>()
{
com.google.common.base.Supplier v;
int v, v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<com.google.common.cache.CacheBuilder: boolean strictParsing> = 1;
v = (int) -1;
v.<com.google.common.cache.CacheBuilder: int initialCapacity> = v;
v = (int) -1;
v.<com.google.common.cache.CacheBuilder: int concurrencyLevel> = v;
v.<com.google.common.cache.CacheBuilder: long maximumSize> = -1L;
v.<com.google.common.cache.CacheBuilder: long maximumWeight> = -1L;
v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos> = -1L;
v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos> = -1L;
v.<com.google.common.cache.CacheBuilder: long refreshNanos> = -1L;
v = <com.google.common.cache.CacheBuilder: com.google.common.base.Supplier NULL_STATS_COUNTER>;
v.<com.google.common.cache.CacheBuilder: com.google.common.base.Supplier statsCounterSupplier> = v;
return;
}
public static com.google.common.cache.CacheBuilder newBuilder()
{
com.google.common.cache.CacheBuilder v;
v = new com.google.common.cache.CacheBuilder;
specialinvoke v.<com.google.common.cache.CacheBuilder: void <init>()>();
return v;
}
public static com.google.common.cache.CacheBuilder 'from'(com.google.common.cache.CacheBuilderSpec)
{
com.google.common.cache.CacheBuilder v, v;
com.google.common.cache.CacheBuilderSpec v;
v := @parameter: com.google.common.cache.CacheBuilderSpec;
v = virtualinvoke v.<com.google.common.cache.CacheBuilderSpec: com.google.common.cache.CacheBuilder toCacheBuilder()>();
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder lenientParsing()>();
return v;
}
public static com.google.common.cache.CacheBuilder 'from'(java.lang.String)
{
com.google.common.cache.CacheBuilder v;
java.lang.String v;
com.google.common.cache.CacheBuilderSpec v;
v := @parameter: java.lang.String;
v = staticinvoke <com.google.common.cache.CacheBuilderSpec: com.google.common.cache.CacheBuilderSpec parse(java.lang.String)>(v);
v = staticinvoke <com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder 'from'(com.google.common.cache.CacheBuilderSpec)>(v);
return v;
}
com.google.common.cache.CacheBuilder lenientParsing()
{
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v.<com.google.common.cache.CacheBuilder: boolean strictParsing> = 0;
return v;
}
com.google.common.cache.CacheBuilder keyEquivalence(com.google.common.base.Equivalence)
{
com.google.common.base.Equivalence v, v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.base.Equivalence;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence keyEquivalence>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence keyEquivalence>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,java.lang.Object)>(v, "key equivalence was already set to %s", v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence keyEquivalence> = v;
return v;
}
com.google.common.base.Equivalence getKeyEquivalence()
{
com.google.common.cache.LocalCache$Strength v;
com.google.common.base.Equivalence v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence keyEquivalence>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength getKeyStrength()>();
v = virtualinvoke v.<com.google.common.cache.LocalCache$Strength: com.google.common.base.Equivalence defaultEquivalence()>();
v = staticinvoke <com.google.common.base.MoreObjects: java.lang.Object firstNonNull(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
com.google.common.cache.CacheBuilder valueEquivalence(com.google.common.base.Equivalence)
{
com.google.common.base.Equivalence v, v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.base.Equivalence;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence valueEquivalence>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence valueEquivalence>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,java.lang.Object)>(v, "value equivalence was already set to %s", v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence valueEquivalence> = v;
return v;
}
com.google.common.base.Equivalence getValueEquivalence()
{
com.google.common.cache.LocalCache$Strength v;
com.google.common.base.Equivalence v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence valueEquivalence>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength getValueStrength()>();
v = virtualinvoke v.<com.google.common.cache.LocalCache$Strength: com.google.common.base.Equivalence defaultEquivalence()>();
v = staticinvoke <com.google.common.base.MoreObjects: java.lang.Object firstNonNull(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder initialCapacity(int)
{
int v, v, v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: int;
v = v.<com.google.common.cache.CacheBuilder: int initialCapacity>;
v = (int) -1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: int initialCapacity>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,int)>(v, "initial capacity was already set to %s", v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v.<com.google.common.cache.CacheBuilder: int initialCapacity> = v;
return v;
}
int getInitialCapacity()
{
int v, v, v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: int initialCapacity>;
v = (int) -1;
if v != v goto label;
v = 16;
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: int initialCapacity>;
label:
return v;
}
public com.google.common.cache.CacheBuilder concurrencyLevel(int)
{
int v, v, v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: int;
v = v.<com.google.common.cache.CacheBuilder: int concurrencyLevel>;
v = (int) -1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: int concurrencyLevel>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,int)>(v, "concurrency level was already set to %s", v);
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v.<com.google.common.cache.CacheBuilder: int concurrencyLevel> = v;
return v;
}
int getConcurrencyLevel()
{
int v, v, v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: int concurrencyLevel>;
v = (int) -1;
if v != v goto label;
v = 4;
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: int concurrencyLevel>;
label:
return v;
}
public com.google.common.cache.CacheBuilder maximumSize(long)
{
long v, v, v, v, v;
byte v, v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v, v, v;
com.google.common.cache.Weigher v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: long;
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "maximum size was already set to %s", v);
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "maximum weight was already set to %s", v);
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Weigher weigher>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "maximum size can not be combined with weigher");
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.Object)>(v, "maximum size must not be negative");
v.<com.google.common.cache.CacheBuilder: long maximumSize> = v;
return v;
}
public com.google.common.cache.CacheBuilder maximumWeight(long)
{
long v, v, v, v, v;
byte v, v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: long;
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "maximum weight was already set to %s", v);
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "maximum size was already set to %s", v);
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.Object)>(v, "maximum weight must not be negative");
v.<com.google.common.cache.CacheBuilder: long maximumWeight> = v;
return v;
}
public com.google.common.cache.CacheBuilder weigher(com.google.common.cache.Weigher)
{
long v, v;
byte v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
boolean v, v, v;
com.google.common.cache.Weigher v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.cache.Weigher;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Weigher weigher>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = v.<com.google.common.cache.CacheBuilder: boolean strictParsing>;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "weigher can not be combined with maximum size", v);
label:
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Weigher weigher> = v;
return v;
}
long getMaximumWeight()
{
byte v, v;
long v, v, v;
com.google.common.cache.CacheBuilder v;
com.google.common.cache.Weigher v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
v = v cmp 0L;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
v = v cmp 0L;
if v != 0 goto label;
label:
return 0L;
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Weigher weigher>;
if v != null goto label;
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
label:
return v;
}
com.google.common.cache.Weigher getWeigher()
{
com.google.common.cache.CacheBuilder$OneWeigher v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
com.google.common.cache.Weigher v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Weigher weigher>;
v = <com.google.common.cache.CacheBuilder$OneWeigher: com.google.common.cache.CacheBuilder$OneWeigher INSTANCE>;
v = staticinvoke <com.google.common.base.MoreObjects: java.lang.Object firstNonNull(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder weakKeys()
{
com.google.common.cache.LocalCache$Strength v;
com.google.common.cache.CacheBuilder v, v;
v := @this: com.google.common.cache.CacheBuilder;
v = <com.google.common.cache.LocalCache$Strength: com.google.common.cache.LocalCache$Strength WEAK>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder setKeyStrength(com.google.common.cache.LocalCache$Strength)>(v);
return v;
}
com.google.common.cache.CacheBuilder setKeyStrength(com.google.common.cache.LocalCache$Strength)
{
com.google.common.cache.LocalCache$Strength v, v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.cache.LocalCache$Strength;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength keyStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength keyStrength>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,java.lang.Object)>(v, "Key strength was already set to %s", v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength keyStrength> = v;
return v;
}
com.google.common.cache.LocalCache$Strength getKeyStrength()
{
com.google.common.cache.LocalCache$Strength v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength keyStrength>;
v = <com.google.common.cache.LocalCache$Strength: com.google.common.cache.LocalCache$Strength STRONG>;
v = staticinvoke <com.google.common.base.MoreObjects: java.lang.Object firstNonNull(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder weakValues()
{
com.google.common.cache.LocalCache$Strength v;
com.google.common.cache.CacheBuilder v, v;
v := @this: com.google.common.cache.CacheBuilder;
v = <com.google.common.cache.LocalCache$Strength: com.google.common.cache.LocalCache$Strength WEAK>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder setValueStrength(com.google.common.cache.LocalCache$Strength)>(v);
return v;
}
public com.google.common.cache.CacheBuilder softValues()
{
com.google.common.cache.LocalCache$Strength v;
com.google.common.cache.CacheBuilder v, v;
v := @this: com.google.common.cache.CacheBuilder;
v = <com.google.common.cache.LocalCache$Strength: com.google.common.cache.LocalCache$Strength SOFT>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder setValueStrength(com.google.common.cache.LocalCache$Strength)>(v);
return v;
}
com.google.common.cache.CacheBuilder setValueStrength(com.google.common.cache.LocalCache$Strength)
{
com.google.common.cache.LocalCache$Strength v, v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.cache.LocalCache$Strength;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength valueStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength valueStrength>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,java.lang.Object)>(v, "Value strength was already set to %s", v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength valueStrength> = v;
return v;
}
com.google.common.cache.LocalCache$Strength getValueStrength()
{
com.google.common.cache.LocalCache$Strength v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength valueStrength>;
v = <com.google.common.cache.LocalCache$Strength: com.google.common.cache.LocalCache$Strength STRONG>;
v = staticinvoke <com.google.common.base.MoreObjects: java.lang.Object firstNonNull(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder expireAfterWrite(java.time.Duration)
{
java.util.concurrent.TimeUnit v;
java.time.Duration v;
long v;
com.google.common.cache.CacheBuilder v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: java.time.Duration;
v = staticinvoke <com.google.common.cache.CacheBuilder: long toNanosSaturated(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder expireAfterWrite(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder expireAfterWrite(long, java.util.concurrent.TimeUnit)
{
long v, v, v, v;
java.util.concurrent.TimeUnit v;
byte v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "expireAfterWrite was already set to %s ns", v);
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,long,java.lang.Object)>(v, "duration cannot be negative: %s %s", v, v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos> = v;
return v;
}
long getExpireAfterWriteNanos()
{
byte v;
long v, v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 0L;
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
label:
return v;
}
public com.google.common.cache.CacheBuilder expireAfterAccess(java.time.Duration)
{
java.util.concurrent.TimeUnit v;
java.time.Duration v;
long v;
com.google.common.cache.CacheBuilder v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: java.time.Duration;
v = staticinvoke <com.google.common.cache.CacheBuilder: long toNanosSaturated(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder expireAfterAccess(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder expireAfterAccess(long, java.util.concurrent.TimeUnit)
{
long v, v, v, v;
java.util.concurrent.TimeUnit v;
byte v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "expireAfterAccess was already set to %s ns", v);
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,long,java.lang.Object)>(v, "duration cannot be negative: %s %s", v, v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos> = v;
return v;
}
long getExpireAfterAccessNanos()
{
byte v;
long v, v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 0L;
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
label:
return v;
}
public com.google.common.cache.CacheBuilder refreshAfterWrite(java.time.Duration)
{
java.util.concurrent.TimeUnit v;
java.time.Duration v;
long v;
com.google.common.cache.CacheBuilder v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: java.time.Duration;
v = staticinvoke <com.google.common.cache.CacheBuilder: long toNanosSaturated(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheBuilder refreshAfterWrite(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder refreshAfterWrite(long, java.util.concurrent.TimeUnit)
{
long v, v, v, v;
java.util.concurrent.TimeUnit v;
byte v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = v.<com.google.common.cache.CacheBuilder: long refreshNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<com.google.common.cache.CacheBuilder: long refreshNanos>;
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,long)>(v, "refresh was already set to %s ns", v);
v = v cmp 0L;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,long,java.lang.Object)>(v, "duration must be positive: %s %s", v, v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v.<com.google.common.cache.CacheBuilder: long refreshNanos> = v;
return v;
}
long getRefreshNanos()
{
byte v;
long v, v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: long refreshNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 0L;
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: long refreshNanos>;
label:
return v;
}
public com.google.common.cache.CacheBuilder ticker(com.google.common.base.Ticker)
{
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
com.google.common.base.Ticker v, v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.base.Ticker;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Ticker ticker>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.base.Ticker ticker> = v;
return v;
}
com.google.common.base.Ticker getTicker(boolean)
{
com.google.common.cache.CacheBuilder v;
com.google.common.base.Ticker v, v, v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: boolean;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Ticker ticker>;
if v == null goto label;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Ticker ticker>;
return v;
label:
if v == 0 goto label;
v = staticinvoke <com.google.common.base.Ticker: com.google.common.base.Ticker systemTicker()>();
goto label;
label:
v = <com.google.common.cache.CacheBuilder: com.google.common.base.Ticker NULL_TICKER>;
label:
return v;
}
public com.google.common.cache.CacheBuilder removalListener(com.google.common.cache.RemovalListener)
{
com.google.common.cache.RemovalListener v, v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.cache.RemovalListener;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.RemovalListener removalListener>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.cache.CacheBuilder: com.google.common.cache.RemovalListener removalListener> = v;
return v;
}
com.google.common.cache.RemovalListener getRemovalListener()
{
com.google.common.cache.RemovalListener v;
java.lang.Object v;
com.google.common.cache.CacheBuilder v;
com.google.common.cache.CacheBuilder$NullListener v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.RemovalListener removalListener>;
v = <com.google.common.cache.CacheBuilder$NullListener: com.google.common.cache.CacheBuilder$NullListener INSTANCE>;
v = staticinvoke <com.google.common.base.MoreObjects: java.lang.Object firstNonNull(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public com.google.common.cache.CacheBuilder recordStats()
{
com.google.common.base.Supplier v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = <com.google.common.cache.CacheBuilder: com.google.common.base.Supplier CACHE_STATS_COUNTER>;
v.<com.google.common.cache.CacheBuilder: com.google.common.base.Supplier statsCounterSupplier> = v;
return v;
}
boolean isRecordingStats()
{
com.google.common.base.Supplier v, v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Supplier statsCounterSupplier>;
v = <com.google.common.cache.CacheBuilder: com.google.common.base.Supplier CACHE_STATS_COUNTER>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
com.google.common.base.Supplier getStatsCounterSupplier()
{
com.google.common.base.Supplier v;
com.google.common.cache.CacheBuilder v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Supplier statsCounterSupplier>;
return v;
}
public com.google.common.cache.LoadingCache build(com.google.common.cache.CacheLoader)
{
com.google.common.cache.CacheLoader v;
com.google.common.cache.CacheBuilder v;
com.google.common.cache.LocalCache$LocalLoadingCache v;
v := @this: com.google.common.cache.CacheBuilder;
v := @parameter: com.google.common.cache.CacheLoader;
specialinvoke v.<com.google.common.cache.CacheBuilder: void checkWeightWithWeigher()>();
v = new com.google.common.cache.LocalCache$LocalLoadingCache;
specialinvoke v.<com.google.common.cache.LocalCache$LocalLoadingCache: void <init>(com.google.common.cache.CacheBuilder,com.google.common.cache.CacheLoader)>(v, v);
return v;
}
public com.google.common.cache.Cache build()
{
com.google.common.cache.CacheBuilder v;
com.google.common.cache.LocalCache$LocalManualCache v;
v := @this: com.google.common.cache.CacheBuilder;
specialinvoke v.<com.google.common.cache.CacheBuilder: void checkWeightWithWeigher()>();
specialinvoke v.<com.google.common.cache.CacheBuilder: void checkNonLoadingCache()>();
v = new com.google.common.cache.LocalCache$LocalManualCache;
specialinvoke v.<com.google.common.cache.LocalCache$LocalManualCache: void <init>(com.google.common.cache.CacheBuilder)>(v);
return v;
}
private void checkNonLoadingCache()
{
byte v;
long v;
com.google.common.cache.CacheBuilder v;
boolean v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: long refreshNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "refreshAfterWrite requires a LoadingCache");
return;
}
private void checkWeightWithWeigher()
{
long v, v, v;
java.util.logging.Logger v;
java.util.logging.Level v;
byte v, v, v;
com.google.common.cache.CacheBuilder v;
boolean v, v, v;
com.google.common.cache.Weigher v;
v := @this: com.google.common.cache.CacheBuilder;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.Weigher weigher>;
if v != null goto label;
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "maximumWeight requires weigher");
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: boolean strictParsing>;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
v = v cmp -1L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "weigher requires maximumWeight");
goto label;
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = <com.google.common.cache.CacheBuilder: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "ignoring weigher specified without maximumWeight");
label:
return;
}
public java.lang.String toString()
{
byte v, v, v, v;
java.lang.StringBuilder v, v;
com.google.common.cache.CacheBuilder v;
com.google.common.cache.LocalCache$Strength v, v, v, v;
com.google.common.base.MoreObjects$ToStringHelper v;
long v, v, v, v, v, v, v, v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
com.google.common.base.Equivalence v, v;
com.google.common.cache.RemovalListener v;
v := @this: com.google.common.cache.CacheBuilder;
v = staticinvoke <com.google.common.base.MoreObjects: com.google.common.base.MoreObjects$ToStringHelper toStringHelper(java.lang.Object)>(v);
v = v.<com.google.common.cache.CacheBuilder: int initialCapacity>;
v = (int) -1;
if v == v goto label;
v = v.<com.google.common.cache.CacheBuilder: int initialCapacity>;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,int)>("initialCapacity", v);
label:
v = v.<com.google.common.cache.CacheBuilder: int concurrencyLevel>;
v = (int) -1;
if v == v goto label;
v = v.<com.google.common.cache.CacheBuilder: int concurrencyLevel>;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,int)>("concurrencyLevel", v);
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long maximumSize>;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,long)>("maximumSize", v);
label:
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long maximumWeight>;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,long)>("maximumWeight", v);
label:
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterWriteNanos>;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(22);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001ns");
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,java.lang.Object)>("expireAfterWrite", v);
label:
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<com.google.common.cache.CacheBuilder: long expireAfterAccessNanos>;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(22);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001ns");
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,java.lang.Object)>("expireAfterAccess", v);
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength keyStrength>;
if v == null goto label;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength keyStrength>;
v = virtualinvoke v.<com.google.common.cache.LocalCache$Strength: java.lang.String toString()>();
v = staticinvoke <com.google.common.base.Ascii: java.lang.String toLowerCase(java.lang.String)>(v);
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,java.lang.Object)>("keyStrength", v);
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength valueStrength>;
if v == null goto label;
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.LocalCache$Strength valueStrength>;
v = virtualinvoke v.<com.google.common.cache.LocalCache$Strength: java.lang.String toString()>();
v = staticinvoke <com.google.common.base.Ascii: java.lang.String toLowerCase(java.lang.String)>(v);
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper add(java.lang.String,java.lang.Object)>("valueStrength", v);
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence keyEquivalence>;
if v == null goto label;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper addValue(java.lang.Object)>("keyEquivalence");
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.base.Equivalence valueEquivalence>;
if v == null goto label;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper addValue(java.lang.Object)>("valueEquivalence");
label:
v = v.<com.google.common.cache.CacheBuilder: com.google.common.cache.RemovalListener removalListener>;
if v == null goto label;
virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: com.google.common.base.MoreObjects$ToStringHelper addValue(java.lang.Object)>("removalListener");
label:
v = virtualinvoke v.<com.google.common.base.MoreObjects$ToStringHelper: java.lang.String toString()>();
return v;
}
private static long toNanosSaturated(java.time.Duration)
{
java.time.Duration v;
java.lang.ArithmeticException v;
long v, v;
boolean v;
v := @parameter: java.time.Duration;
label:
v = virtualinvoke v.<java.time.Duration: long toNanos()>();
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.time.Duration: boolean isNegative()>();
if v == 0 goto label;
v = -9223372036854775808L;
goto label;
label:
v = 9223372036854775807L;
label:
return v;
catch java.lang.ArithmeticException from label to label with label;
}
static void <clinit>()
{
com.google.common.base.Supplier v;
java.util.logging.Logger v;
com.google.common.cache.CacheBuilder$1 v;
com.google.common.cache.CacheBuilder$3 v;
java.lang.Class v;
com.google.common.cache.CacheBuilder$2 v;
java.lang.String v;
com.google.common.cache.CacheStats v;
v = new com.google.common.cache.CacheBuilder$1;
specialinvoke v.<com.google.common.cache.CacheBuilder$1: void <init>()>();
v = staticinvoke <com.google.common.base.Suppliers: com.google.common.base.Supplier ofInstance(java.lang.Object)>(v);
<com.google.common.cache.CacheBuilder: com.google.common.base.Supplier NULL_STATS_COUNTER> = v;
v = new com.google.common.cache.CacheStats;
specialinvoke v.<com.google.common.cache.CacheStats: void <init>(long,long,long,long,long,long)>(0L, 0L, 0L, 0L, 0L, 0L);
<com.google.common.cache.CacheBuilder: com.google.common.cache.CacheStats EMPTY_STATS> = v;
v = new com.google.common.cache.CacheBuilder$2;
specialinvoke v.<com.google.common.cache.CacheBuilder$2: void <init>()>();
<com.google.common.cache.CacheBuilder: com.google.common.base.Supplier CACHE_STATS_COUNTER> = v;
v = new com.google.common.cache.CacheBuilder$3;
specialinvoke v.<com.google.common.cache.CacheBuilder$3: void <init>()>();
<com.google.common.cache.CacheBuilder: com.google.common.base.Ticker NULL_TICKER> = v;
v = class "Lcom/google/common/cache/CacheBuilder;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<com.google.common.cache.CacheBuilder: java.util.logging.Logger logger> = v;
return;
}
}