public final class com.github.benmanes.caffeine.cache.Caffeine extends java.lang.Object
{
static final java.util.function.Supplier ENABLED_STATS_COUNTER_SUPPLIER;
static final java.lang.System$Logger logger;
static final double DEFAULT_LOAD_FACTOR;
static final int UNSET_INT;
static final int DEFAULT_INITIAL_CAPACITY;
static final int DEFAULT_EXPIRATION_NANOS;
static final int DEFAULT_REFRESH_NANOS;
boolean strictParsing;
boolean interner;
long maximumSize;
long maximumWeight;
int initialCapacity;
long expireAfterWriteNanos;
long expireAfterAccessNanos;
long refreshAfterWriteNanos;
com.github.benmanes.caffeine.cache.RemovalListener evictionListener;
com.github.benmanes.caffeine.cache.RemovalListener removalListener;
java.util.function.Supplier statsCounterSupplier;
com.github.benmanes.caffeine.cache.Weigher weigher;
com.github.benmanes.caffeine.cache.Expiry expiry;
com.github.benmanes.caffeine.cache.Scheduler scheduler;
java.util.concurrent.Executor executor;
com.github.benmanes.caffeine.cache.Ticker ticker;
com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength;
com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength;
private void <init>()
{
int v;
com.github.benmanes.caffeine.cache.Caffeine v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<com.github.benmanes.caffeine.cache.Caffeine: boolean strictParsing> = 1;
v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize> = -1L;
v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight> = -1L;
v = (int) -1;
v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity> = v;
v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos> = -1L;
v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos> = -1L;
v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos> = -1L;
return;
}
static transient void requireArgument(boolean, java.lang.String, java.lang.Object[])
{
java.lang.Object[] v;
java.util.Locale v;
java.lang.String v, v;
java.lang.IllegalArgumentException v;
boolean v;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = <java.util.Locale: java.util.Locale US>;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, v, v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
static void requireArgument(boolean)
{
java.lang.IllegalArgumentException v;
boolean v;
v := @parameter: boolean;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
return;
}
static void requireState(boolean)
{
java.lang.IllegalStateException v;
boolean v;
v := @parameter: boolean;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
return;
}
static transient void requireState(boolean, java.lang.String, java.lang.Object[])
{
java.lang.IllegalStateException v;
java.lang.Object[] v;
java.util.Locale v;
java.lang.String v, v;
boolean v;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = <java.util.Locale: java.util.Locale US>;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, v, v);
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
static int ceilingPowerOfTwo(int)
{
int v, v, v, v, v;
v := @parameter: int;
v = v - 1;
v = staticinvoke <java.lang.Integer: int numberOfLeadingZeros(int)>(v);
v = neg v;
v = 1 << v;
return v;
}
static long ceilingPowerOfTwo(long)
{
int v, v;
long v, v, v;
v := @parameter: long;
v = v - 1L;
v = staticinvoke <java.lang.Long: int numberOfLeadingZeros(long)>(v);
v = neg v;
v = 1L << v;
return v;
}
static int calculateHashMapCapacity(int)
{
int v;
double v, v;
v := @parameter: int;
v = v / 0.75;
v = staticinvoke <java.lang.Math: double ceil(double)>(v);
return v;
}
static int calculateHashMapCapacity(java.lang.Iterable)
{
int v, v;
java.lang.Iterable v;
boolean v;
v := @parameter: java.lang.Iterable;
v = v instanceof java.util.Collection;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Collection: int size()>();
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: int calculateHashMapCapacity(int)>(v);
goto label;
label:
v = 16;
label:
return v;
}
public static com.github.benmanes.caffeine.cache.Caffeine newBuilder()
{
com.github.benmanes.caffeine.cache.Caffeine v;
v = new com.github.benmanes.caffeine.cache.Caffeine;
specialinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void <init>()>();
return v;
}
static com.github.benmanes.caffeine.cache.BoundedLocalCache newWeakInterner()
{
com.github.benmanes.caffeine.cache.Caffeine v, v, v;
java.util.concurrent.Executor v;
com.github.benmanes.caffeine.cache.BoundedLocalCache v;
v = new com.github.benmanes.caffeine.cache.Caffeine;
specialinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void <init>()>();
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine$run__48: java.util.concurrent.Executor bootstrap$()>();
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine executor(java.util.concurrent.Executor)>(v);
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine weakKeys()>();
v.<com.github.benmanes.caffeine.cache.Caffeine: boolean interner> = 1;
v = staticinvoke <com.github.benmanes.caffeine.cache.LocalCacheFactory: com.github.benmanes.caffeine.cache.BoundedLocalCache newBoundedLocalCache(com.github.benmanes.caffeine.cache.Caffeine,com.github.benmanes.caffeine.cache.AsyncCacheLoader,boolean)>(v, null, 0);
return v;
}
public static com.github.benmanes.caffeine.cache.Caffeine 'from'(com.github.benmanes.caffeine.cache.CaffeineSpec)
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @parameter: com.github.benmanes.caffeine.cache.CaffeineSpec;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine toBuilder()>();
v.<com.github.benmanes.caffeine.cache.Caffeine: boolean strictParsing> = 0;
return v;
}
public static com.github.benmanes.caffeine.cache.Caffeine 'from'(java.lang.String)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.String v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @parameter: java.lang.String;
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.CaffeineSpec parse(java.lang.String)>(v);
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine 'from'(com.github.benmanes.caffeine.cache.CaffeineSpec)>(v);
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine initialCapacity(int)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.lang.Integer v;
int v, v, v, v;
boolean v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: int;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity>;
v = (int) -1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "initial capacity was already set to %s", v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity> = v;
return v;
}
boolean hasInitialCapacity()
{
com.github.benmanes.caffeine.cache.Caffeine v;
int v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity>;
v = (int) -1;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
int getInitialCapacity()
{
int v;
com.github.benmanes.caffeine.cache.Caffeine v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean hasInitialCapacity()>();
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity>;
goto label;
label:
v = 16;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine executor(java.util.concurrent.Executor)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.util.concurrent.Executor v, v, v;
java.lang.Object v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: java.util.concurrent.Executor;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.concurrent.Executor executor>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.concurrent.Executor executor>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "executor was already set to %s", v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.concurrent.Executor executor> = v;
return v;
}
java.util.concurrent.Executor getExecutor()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.util.concurrent.Executor v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.concurrent.Executor executor>;
if v != null goto label;
v = staticinvoke <java.util.concurrent.ForkJoinPool: java.util.concurrent.ForkJoinPool commonPool()>();
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.concurrent.Executor executor>;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine scheduler(com.github.benmanes.caffeine.cache.Scheduler)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.lang.Object v;
com.github.benmanes.caffeine.cache.Scheduler v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.Scheduler;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "scheduler was already set to %s", v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler> = v;
return v;
}
com.github.benmanes.caffeine.cache.Scheduler getScheduler()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Scheduler v, v, v, v, v, v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
v = staticinvoke <com.github.benmanes.caffeine.cache.Scheduler: com.github.benmanes.caffeine.cache.Scheduler disabledScheduler()>();
if v != v goto label;
label:
v = staticinvoke <com.github.benmanes.caffeine.cache.Scheduler: com.github.benmanes.caffeine.cache.Scheduler disabledScheduler()>();
return v;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
v = staticinvoke <com.github.benmanes.caffeine.cache.Scheduler: com.github.benmanes.caffeine.cache.Scheduler systemScheduler()>();
if v != v goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
return v;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler scheduler>;
v = staticinvoke <com.github.benmanes.caffeine.cache.Scheduler: com.github.benmanes.caffeine.cache.Scheduler guardedScheduler(com.github.benmanes.caffeine.cache.Scheduler)>(v);
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine maximumSize(long)
{
java.lang.Object[] v, v, v, v;
long v, v, v, v, v;
com.github.benmanes.caffeine.cache.Weigher v;
byte v, v, v;
java.lang.Long v, v;
boolean v, v, v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: long;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "maximum size was already set to %s", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "maximum weight was already set to %s", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "maximum size can not be combined with weigher", v);
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "maximum size must not be negative", v);
v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize> = v;
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine maximumWeight(long)
{
java.lang.Object[] v, v, v;
long v, v, v, v, v;
byte v, v, v;
java.lang.Long v, v;
boolean v, v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: long;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "maximum weight was already set to %s", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(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:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "maximum weight must not be negative", v);
v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight> = v;
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine weigher(com.github.benmanes.caffeine.cache.Weigher)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v, v;
long v;
com.github.benmanes.caffeine.cache.Weigher v, v, v;
byte v;
boolean v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.Weigher;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "weigher was already set to %s", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: boolean strictParsing>;
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "weigher can not be combined with maximum size", v);
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher> = v;
return v;
}
boolean evicts()
{
com.github.benmanes.caffeine.cache.Caffeine v;
byte v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: long getMaximum()>();
v = v cmp -1L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
boolean isWeighted()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Weigher v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
long getMaximum()
{
com.github.benmanes.caffeine.cache.Caffeine v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isWeighted()>();
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
label:
return v;
}
com.github.benmanes.caffeine.cache.Weigher getWeigher(boolean)
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Async$AsyncWeigher v;
com.github.benmanes.caffeine.cache.Weigher v, v, v, v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: boolean;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
v = staticinvoke <com.github.benmanes.caffeine.cache.Weigher: com.github.benmanes.caffeine.cache.Weigher singletonWeigher()>();
if v != v goto label;
label:
v = staticinvoke <com.github.benmanes.caffeine.cache.Weigher: com.github.benmanes.caffeine.cache.Weigher singletonWeigher()>();
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
v = staticinvoke <com.github.benmanes.caffeine.cache.Weigher: com.github.benmanes.caffeine.cache.Weigher boundedWeigher(com.github.benmanes.caffeine.cache.Weigher)>(v);
label:
if v == 0 goto label;
v = new com.github.benmanes.caffeine.cache.Async$AsyncWeigher;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.Async$AsyncWeigher: void <init>(com.github.benmanes.caffeine.cache.Weigher)>(v);
goto label;
label:
v = v;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine weakKeys()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Key strength was already set to %s", v);
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength WEAK>;
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength> = v;
return v;
}
boolean isStrongKeys()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine weakValues()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Value strength was already set to %s", v);
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength WEAK>;
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength> = v;
return v;
}
boolean isStrongValues()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
boolean isWeakValues()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength WEAK>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine softValues()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Value strength was already set to %s", v);
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength SOFT>;
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength> = v;
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine expireAfterWrite(java.time.Duration)
{
java.util.concurrent.TimeUnit v;
com.github.benmanes.caffeine.cache.Caffeine v, v;
java.time.Duration v;
long v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: java.time.Duration;
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: long saturatedToNanos(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine expireAfterWrite(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine expireAfterWrite(long, java.util.concurrent.TimeUnit)
{
java.lang.Object[] v, v, v;
long v, v, v, v;
byte v, v;
java.lang.Long v, v;
com.github.benmanes.caffeine.cache.Expiry v;
boolean v, v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
java.util.concurrent.TimeUnit v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "expireAfterWrite was already set to %s ns", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "expireAfterWrite may not be used with variable expiration", v);
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v[1] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "duration cannot be negative: %s %s", v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos> = v;
return v;
}
long getExpiresAfterWriteNanos()
{
com.github.benmanes.caffeine.cache.Caffeine v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean expiresAfterWrite()>();
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
goto label;
label:
v = 0L;
label:
return v;
}
boolean expiresAfterWrite()
{
com.github.benmanes.caffeine.cache.Caffeine v;
byte v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine expireAfterAccess(java.time.Duration)
{
java.util.concurrent.TimeUnit v;
com.github.benmanes.caffeine.cache.Caffeine v, v;
java.time.Duration v;
long v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: java.time.Duration;
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: long saturatedToNanos(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine expireAfterAccess(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine expireAfterAccess(long, java.util.concurrent.TimeUnit)
{
java.lang.Object[] v, v, v;
long v, v, v, v;
byte v, v;
java.lang.Long v, v;
com.github.benmanes.caffeine.cache.Expiry v;
boolean v, v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
java.util.concurrent.TimeUnit v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "expireAfterAccess was already set to %s ns", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "expireAfterAccess may not be used with variable expiration", v);
v = v cmp 0L;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v[1] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "duration cannot be negative: %s %s", v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos> = v;
return v;
}
long getExpiresAfterAccessNanos()
{
com.github.benmanes.caffeine.cache.Caffeine v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean expiresAfterAccess()>();
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
goto label;
label:
v = 0L;
label:
return v;
}
boolean expiresAfterAccess()
{
com.github.benmanes.caffeine.cache.Caffeine v;
byte v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine expireAfter(com.github.benmanes.caffeine.cache.Expiry)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v, v, v;
long v, v;
byte v, v;
com.github.benmanes.caffeine.cache.Expiry v, v, v;
boolean v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.Expiry;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Expiry was already set to %s", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Expiry may not be used with expiresAfterAccess", v);
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Expiry may not be used with expiresAfterWrite", v);
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry> = v;
return v;
}
boolean expiresVariable()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Expiry v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
com.github.benmanes.caffeine.cache.Expiry getExpiry(boolean)
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Async$AsyncExpiry v;
com.github.benmanes.caffeine.cache.Expiry v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: boolean;
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v == null goto label;
v = new com.github.benmanes.caffeine.cache.Async$AsyncExpiry;
v = v;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
specialinvoke v.<com.github.benmanes.caffeine.cache.Async$AsyncExpiry: void <init>(com.github.benmanes.caffeine.cache.Expiry)>(v);
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine refreshAfterWrite(java.time.Duration)
{
java.util.concurrent.TimeUnit v;
com.github.benmanes.caffeine.cache.Caffeine v, v;
java.time.Duration v;
long v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: java.time.Duration;
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: long saturatedToNanos(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine refreshAfterWrite(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine refreshAfterWrite(long, java.util.concurrent.TimeUnit)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v, v;
long v, v, v, v;
java.util.concurrent.TimeUnit v;
byte v, v;
java.lang.Long v, v;
boolean v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "refreshAfterWriteNanos was already set to %s ns", v);
v = v cmp 0L;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v[1] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "duration must be positive: %s %s", v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos> = v;
return v;
}
long getRefreshAfterWriteNanos()
{
com.github.benmanes.caffeine.cache.Caffeine v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean refreshAfterWrite()>();
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
goto label;
label:
v = 0L;
label:
return v;
}
boolean refreshAfterWrite()
{
com.github.benmanes.caffeine.cache.Caffeine v;
byte v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine ticker(com.github.benmanes.caffeine.cache.Ticker)
{
com.github.benmanes.caffeine.cache.Ticker v, v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.lang.Object v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.Ticker;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Ticker ticker>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Ticker ticker>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Ticker was already set to %s", v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Ticker ticker> = v;
return v;
}
com.github.benmanes.caffeine.cache.Ticker getTicker()
{
com.github.benmanes.caffeine.cache.Ticker v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
boolean v, v, v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean expiresVariable()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean expiresAfterAccess()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean expiresAfterWrite()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean refreshAfterWrite()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isRecordingStats()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Ticker ticker>;
if v != null goto label;
v = staticinvoke <com.github.benmanes.caffeine.cache.Ticker: com.github.benmanes.caffeine.cache.Ticker systemTicker()>();
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Ticker ticker>;
goto label;
label:
v = staticinvoke <com.github.benmanes.caffeine.cache.Ticker: com.github.benmanes.caffeine.cache.Ticker disabledTicker()>();
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine evictionListener(com.github.benmanes.caffeine.cache.RemovalListener)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.lang.Object v;
com.github.benmanes.caffeine.cache.RemovalListener v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.RemovalListener;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "eviction listener was already set to %s", v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener> = v;
return v;
}
com.github.benmanes.caffeine.cache.RemovalListener getEvictionListener(boolean)
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.RemovalListener v, v;
com.github.benmanes.caffeine.cache.Async$AsyncEvictionListener v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: boolean;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener>;
if v == 0 goto label;
if v == null goto label;
v = new com.github.benmanes.caffeine.cache.Async$AsyncEvictionListener;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.Async$AsyncEvictionListener: void <init>(com.github.benmanes.caffeine.cache.RemovalListener)>(v);
goto label;
label:
v = v;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine removalListener(com.github.benmanes.caffeine.cache.RemovalListener)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.lang.Object v;
com.github.benmanes.caffeine.cache.RemovalListener v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.RemovalListener;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener removalListener>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener removalListener>;
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "removal listener was already set to %s", v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener removalListener> = v;
return v;
}
com.github.benmanes.caffeine.cache.RemovalListener getRemovalListener(boolean)
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.Async$AsyncRemovalListener v;
java.util.concurrent.Executor v;
com.github.benmanes.caffeine.cache.RemovalListener v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: boolean;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener removalListener>;
if v == 0 goto label;
if v == null goto label;
v = new com.github.benmanes.caffeine.cache.Async$AsyncRemovalListener;
v = v;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.concurrent.Executor getExecutor()>();
specialinvoke v.<com.github.benmanes.caffeine.cache.Async$AsyncRemovalListener: void <init>(com.github.benmanes.caffeine.cache.RemovalListener,java.util.concurrent.Executor)>(v, v);
goto label;
label:
v = v;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine recordStats()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.util.function.Supplier v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Statistics recording was already set", v);
v = <com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier ENABLED_STATS_COUNTER_SUPPLIER>;
v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier> = v;
return v;
}
public com.github.benmanes.caffeine.cache.Caffeine recordStats(java.util.function.Supplier)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
java.util.function.Supplier v, v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: java.util.function.Supplier;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Statistics recording was already set", v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine$lambda_recordStats_0__49: java.util.function.Supplier bootstrap$(java.util.function.Supplier)>(v);
v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier> = v;
return v;
}
boolean isRecordingStats()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.util.function.Supplier v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
java.util.function.Supplier getStatsCounterSupplier()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.util.function.Supplier v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier>;
if v != null goto label;
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine$disabledStatsCounter__50: java.util.function.Supplier bootstrap$()>();
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier statsCounterSupplier>;
label:
return v;
}
boolean isBounded()
{
com.github.benmanes.caffeine.cache.Caffeine v;
long v, v, v, v;
byte v, v, v, v;
com.github.benmanes.caffeine.cache.Expiry v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = v cmp -1L;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v != null goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
if v != null goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v == null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.github.benmanes.caffeine.cache.Cache build()
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalManualCache v;
com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalManualCache v;
com.github.benmanes.caffeine.cache.LocalManualCache v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void requireWeightWithWeigher()>();
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void requireNonLoadingCache()>();
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isBounded()>();
if v == 0 goto label;
v = new com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalManualCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalManualCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine)>(v);
goto label;
label:
v = new com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalManualCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalManualCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine)>(v);
label:
return v;
}
public com.github.benmanes.caffeine.cache.LoadingCache build(com.github.benmanes.caffeine.cache.CacheLoader)
{
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.CacheLoader v;
com.github.benmanes.caffeine.cache.LocalLoadingCache v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalLoadingCache v;
com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalLoadingCache v;
boolean v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.CacheLoader;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void requireWeightWithWeigher()>();
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isBounded()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean refreshAfterWrite()>();
if v == 0 goto label;
label:
v = new com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalLoadingCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalLoadingCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine,com.github.benmanes.caffeine.cache.CacheLoader)>(v, v);
goto label;
label:
v = new com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalLoadingCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalLoadingCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine,com.github.benmanes.caffeine.cache.CacheLoader)>(v, v);
label:
return v;
}
public com.github.benmanes.caffeine.cache.AsyncCache buildAsync()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v, v;
com.github.benmanes.caffeine.cache.LocalAsyncCache v;
com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalAsyncCache v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalAsyncCache v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v;
com.github.benmanes.caffeine.cache.RemovalListener v;
boolean v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Weak or soft values can not be combined with AsyncCache", v);
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isStrongKeys()>();
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener>;
if v != null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Weak keys cannot be combined eviction listener and with AsyncLoadingCache", v);
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void requireWeightWithWeigher()>();
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void requireNonLoadingCache()>();
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isBounded()>();
if v == 0 goto label;
v = new com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalAsyncCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalAsyncCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine)>(v);
goto label;
label:
v = new com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalAsyncCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalAsyncCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine)>(v);
label:
return v;
}
public com.github.benmanes.caffeine.cache.AsyncLoadingCache buildAsync(com.github.benmanes.caffeine.cache.CacheLoader)
{
com.github.benmanes.caffeine.cache.AsyncLoadingCache v;
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.CacheLoader v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.CacheLoader;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.AsyncLoadingCache buildAsync(com.github.benmanes.caffeine.cache.AsyncCacheLoader)>(v);
return v;
}
public com.github.benmanes.caffeine.cache.AsyncLoadingCache buildAsync(com.github.benmanes.caffeine.cache.AsyncCacheLoader)
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v, v;
com.github.benmanes.caffeine.cache.LocalAsyncLoadingCache v;
com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalAsyncLoadingCache v;
com.github.benmanes.caffeine.cache.AsyncCacheLoader v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalAsyncLoadingCache v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v;
com.github.benmanes.caffeine.cache.RemovalListener v;
boolean v, v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.AsyncCacheLoader;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Weak or soft values can not be combined with AsyncLoadingCache", v);
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isStrongKeys()>();
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener>;
if v != null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "Weak keys cannot be combined eviction listener and with AsyncLoadingCache", v);
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: void requireWeightWithWeigher()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean isBounded()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean refreshAfterWrite()>();
if v == 0 goto label;
label:
v = new com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalAsyncLoadingCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$BoundedLocalAsyncLoadingCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine,com.github.benmanes.caffeine.cache.AsyncCacheLoader)>(v, v);
goto label;
label:
v = new com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalAsyncLoadingCache;
v = v;
specialinvoke v.<com.github.benmanes.caffeine.cache.UnboundedLocalCache$UnboundedLocalAsyncLoadingCache: void <init>(com.github.benmanes.caffeine.cache.Caffeine,com.github.benmanes.caffeine.cache.AsyncCacheLoader)>(v, v);
label:
return v;
}
void requireNonLoadingCache()
{
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v;
byte v;
long v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "refreshAfterWrite requires a LoadingCache", v);
return;
}
void requireWeightWithWeigher()
{
java.lang.System$Logger v;
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Object[] v, v;
long v, v, v;
java.lang.System$Logger$Level v;
com.github.benmanes.caffeine.cache.Weigher v;
byte v, v, v;
boolean v, v, v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Weigher weigher>;
if v != null goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "maximumWeight requires weigher", v);
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: boolean strictParsing>;
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean,java.lang.String,java.lang.Object[])>(v, "weigher requires maximumWeight", v);
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v != 0 goto label;
v = <com.github.benmanes.caffeine.cache.Caffeine: java.lang.System$Logger logger>;
v = <java.lang.System$Logger$Level: java.lang.System$Logger$Level WARNING>;
interfaceinvoke v.<java.lang.System$Logger: void log(java.lang.System$Logger$Level,java.lang.String)>(v, "ignoring weigher specified without maximumWeight");
label:
return;
}
static long saturatedToNanos(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;
}
public java.lang.String toString()
{
byte v, v, v, v, v;
java.util.Locale v, v;
com.github.benmanes.caffeine.cache.Expiry v;
com.github.benmanes.caffeine.cache.RemovalListener v, v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v, v;
long v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
java.lang.Class v;
v := @this: com.github.benmanes.caffeine.cache.Caffeine;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(200);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(123);
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity>;
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("initialCapacity=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: int initialCapacity>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = v cmp -1L;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("maximumSize=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumSize>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = v cmp -1L;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("maximumWeight=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long maximumWeight>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("expireAfterWrite=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterWriteNanos>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("ns, ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("expireAfterAccess=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long expireAfterAccessNanos>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("ns, ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry expiry>;
if v == null goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("expiry, ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
v = v cmp -1L;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("refreshAfterWrite=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: long refreshAfterWriteNanos>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("ns, ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("keyStrength=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine$Strength: java.lang.String toString()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("valueStrength=");
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine$Strength: java.lang.String toString()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener evictionListener>;
if v == null goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("evictionListener, ");
label:
v = v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.RemovalListener removalListener>;
if v == null goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("removalListener, ");
label:
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v <= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = v - 2;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder delete(int,int)>(v, v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(125);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void <clinit>()
{
java.lang.System$Logger v;
java.lang.Class v;
java.lang.String v;
java.util.function.Supplier v;
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine$init__51: java.util.function.Supplier bootstrap$()>();
<com.github.benmanes.caffeine.cache.Caffeine: java.util.function.Supplier ENABLED_STATS_COUNTER_SUPPLIER> = v;
v = class "Lcom/github/benmanes/caffeine/cache/Caffeine;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.lang.System: java.lang.System$Logger getLogger(java.lang.String)>(v);
<com.github.benmanes.caffeine.cache.Caffeine: java.lang.System$Logger logger> = v;
return;
}
}