public final class com.github.benmanes.caffeine.cache.CaffeineSpec extends java.lang.Object
{
static final java.lang.String SPLIT_OPTIONS;
static final java.lang.String SPLIT_KEY_VALUE;
final java.lang.String specification;
int initialCapacity;
long maximumWeight;
long maximumSize;
boolean recordStats;
com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength;
com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength;
java.time.Duration expireAfterWrite;
java.time.Duration expireAfterAccess;
java.time.Duration refreshAfterWrite;
private void <init>(java.lang.String)
{
int v;
java.lang.Object v;
java.lang.String v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = (int) -1;
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity> = v;
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight> = -1L;
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize> = -1L;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.lang.String specification> = v;
return;
}
com.github.benmanes.caffeine.cache.Caffeine toBuilder()
{
long v, v, v, v;
byte v, v;
java.time.Duration v, v, v, v, v, v;
int v, v, v;
boolean v, v;
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v, v, v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v = staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine newBuilder()>();
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity>;
v = (int) -1;
if v == v goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine initialCapacity(int)>(v);
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine maximumSize(long)>(v);
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight>;
v = v cmp -1L;
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine maximumWeight(long)>(v);
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
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:
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireState(boolean)>(v);
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine weakKeys()>();
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine weakValues()>();
goto label;
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength SOFT>;
if v != v goto label;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine softValues()>();
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine expireAfterWrite(java.time.Duration)>(v);
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine expireAfterAccess(java.time.Duration)>(v);
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine refreshAfterWrite(java.time.Duration)>(v);
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: boolean recordStats>;
if v == 0 goto label;
virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Caffeine recordStats()>();
label:
return v;
}
public static com.github.benmanes.caffeine.cache.CaffeineSpec parse(java.lang.String)
{
int v, v;
java.lang.String[] v;
java.lang.String v, v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @parameter: java.lang.String;
v = new com.github.benmanes.caffeine.cache.CaffeineSpec;
specialinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void parseOption(java.lang.String)>(v);
v = v + 1;
goto label;
label:
return v;
}
void parseOption(java.lang.String)
{
java.lang.Object[] v;
java.lang.String[] v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
int v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("=");
v = lengthof v;
if v > 2 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "key-value pair %s with more than one equals sign", v);
v = v[0];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = lengthof v;
if v != 1 goto label;
v = null;
goto label;
label:
v = v[1];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void configure(java.lang.String,java.lang.String)>(v, v);
return;
}
void configure(java.lang.String, java.lang.String)
{
byte v;
int v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1076762142: goto label;
case -737229428: goto label;
case -83937812: goto label;
case 336225217: goto label;
case 502967994: goto label;
case 706249886: goto label;
case 817286328: goto label;
case 1306358478: goto label;
case 1685649985: goto label;
case 1725385758: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("initialCapacity");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("maximumSize");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("maximumWeight");
if v == 0 goto label;
v = 2;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("weakKeys");
if v == 0 goto label;
v = 3;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("weakValues");
if v == 0 goto label;
v = 4;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("softValues");
if v == 0 goto label;
v = 5;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("expireAfterAccess");
if v == 0 goto label;
v = 6;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("expireAfterWrite");
if v == 0 goto label;
v = 7;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("refreshAfterWrite");
if v == 0 goto label;
v = 8;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("recordStats");
if v == 0 goto label;
v = 9;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
default: goto label;
};
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void initialCapacity(java.lang.String,java.lang.String)>(v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void maximumSize(java.lang.String,java.lang.String)>(v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void maximumWeight(java.lang.String,java.lang.String)>(v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void weakKeys(java.lang.String)>(v);
return;
label:
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength WEAK>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void valueStrength(java.lang.String,java.lang.String,com.github.benmanes.caffeine.cache.Caffeine$Strength)>(v, v, v);
return;
label:
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength SOFT>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void valueStrength(java.lang.String,java.lang.String,com.github.benmanes.caffeine.cache.Caffeine$Strength)>(v, v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void expireAfterAccess(java.lang.String,java.lang.String)>(v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void expireAfterWrite(java.lang.String,java.lang.String)>(v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void refreshAfterWrite(java.lang.String,java.lang.String)>(v, v);
return;
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: void recordStats(java.lang.String)>(v);
return;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unknown key \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
void initialCapacity(java.lang.String, java.lang.String)
{
java.lang.Object[] v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
java.lang.Integer v;
int v, v, v, v;
java.lang.String v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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.CaffeineSpec: int initialCapacity>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "initial capacity was already set to %,d", v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: int parseInt(java.lang.String,java.lang.String)>(v, v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity> = v;
return;
}
void maximumSize(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v;
long v, v, v, v, v;
byte v, v;
java.lang.Long v, v;
java.lang.String v, v;
boolean v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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.CaffeineSpec: long maximumSize>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "maximum size was already set to %,d", v);
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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.CaffeineSpec: long maximumWeight>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "maximum weight was already set to %,d", v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: long parseLong(java.lang.String,java.lang.String)>(v, v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize> = v;
return;
}
void maximumWeight(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v;
long v, v, v, v, v;
byte v, v;
java.lang.Long v, v;
java.lang.String v, v;
boolean v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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.CaffeineSpec: long maximumWeight>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "maximum weight was already set to %,d", v);
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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.CaffeineSpec: long maximumSize>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "maximum size was already set to %,d", v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: long parseLong(java.lang.String,java.lang.String)>(v, v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight> = v;
return;
}
void weakKeys(java.lang.String)
{
java.lang.Object[] v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
java.lang.String v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v;
boolean v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
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 requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "weak keys does not take a value", v);
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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)[0];
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "weak keys was already set", v);
v = <com.github.benmanes.caffeine.cache.Caffeine$Strength: com.github.benmanes.caffeine.cache.Caffeine$Strength WEAK>;
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength> = v;
return;
}
void valueStrength(java.lang.String, java.lang.String, com.github.benmanes.caffeine.cache.Caffeine$Strength)
{
java.lang.Object[] v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
java.lang.String v, v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v;
boolean v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: com.github.benmanes.caffeine.cache.Caffeine$Strength;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "%s does not take a value", v);
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: 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)[2];
v[0] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v[1] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "%s was already set to %s", v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength> = v;
return;
}
void expireAfterAccess(java.lang.String, java.lang.String)
{
java.lang.Object[] v;
java.time.Duration v, v;
java.lang.String v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess>;
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 requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "expireAfterAccess was already set", v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration parseDuration(java.lang.String,java.lang.String)>(v, v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess> = v;
return;
}
void expireAfterWrite(java.lang.String, java.lang.String)
{
java.lang.Object[] v;
java.time.Duration v, v;
java.lang.String v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite>;
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 requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "expireAfterWrite was already set", v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration parseDuration(java.lang.String,java.lang.String)>(v, v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite> = v;
return;
}
void refreshAfterWrite(java.lang.String, java.lang.String)
{
java.lang.Object[] v;
java.time.Duration v, v;
java.lang.String v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite>;
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 requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "refreshAfterWrite was already set", v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration parseDuration(java.lang.String,java.lang.String)>(v, v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite> = v;
return;
}
void recordStats(java.lang.String)
{
java.lang.Object[] v, v;
java.lang.String v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
boolean v, v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.String;
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 requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "record stats does not take a value", v);
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: boolean recordStats>;
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, "record stats was already set", v);
v.<com.github.benmanes.caffeine.cache.CaffeineSpec: boolean recordStats> = 1;
return;
}
static int parseInt(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v;
java.lang.NumberFormatException v;
java.lang.IllegalArgumentException v;
java.util.Locale v;
int v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "value of key %s was omitted", v);
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = <java.util.Locale: java.util.Locale US>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, "key %s value was set to %s, must be an integer", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
static long parseLong(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v;
java.lang.NumberFormatException v;
long v;
java.lang.IllegalArgumentException v;
java.util.Locale v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "value of key %s was omitted", v);
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = <java.util.Locale: java.util.Locale US>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, "key %s value was set to %s, must be a long", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
static java.time.Duration parseDuration(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v;
long v, v;
java.time.Duration v, v;
int v, v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v, v;
java.util.concurrent.TimeUnit v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "value of key %s omitted", v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("p");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("P");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = staticinvoke <java.time.Duration: java.time.Duration parse(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.time.Duration: boolean isNegative()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "key %s invalid format; was %s, but the duration cannot be negative", v);
return v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: long parseLong(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <com.github.benmanes.caffeine.cache.CaffeineSpec: java.util.concurrent.TimeUnit parseTimeUnit(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
v = staticinvoke <java.time.Duration: java.time.Duration ofNanos(long)>(v);
return v;
}
static java.util.concurrent.TimeUnit parseTimeUnit(java.lang.String, java.lang.String)
{
java.lang.Object[] v, v;
java.util.Locale v;
int v, v;
java.lang.String v, v, v;
boolean v, v;
char v, v;
java.lang.IllegalArgumentException v;
java.util.concurrent.TimeUnit v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <com.github.benmanes.caffeine.cache.Caffeine: void requireArgument(boolean,java.lang.String,java.lang.Object[])>(v, "value of key %s omitted", v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: char toLowerCase(char)>(v);
lookupswitch(v)
{
case 100: goto label;
case 104: goto label;
case 109: goto label;
case 115: goto label;
default: goto label;
};
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit DAYS>;
return v;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit HOURS>;
return v;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MINUTES>;
return v;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
return v;
label:
v = new java.lang.IllegalArgumentException;
v = <java.util.Locale: java.util.Locale US>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, "key %s invalid format; was %s, must end with one of [dDhHmMsS]", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
public boolean equals(java.lang.Object)
{
long v, v, v, v;
byte v, v;
java.time.Duration v, v, v, v, v, v;
int v, v;
boolean v, v, v, v, v, v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
java.lang.Object v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof com.github.benmanes.caffeine.cache.CaffeineSpec;
if v != 0 goto label;
return 0;
label:
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity>;
if v != v goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight>;
v = v cmp v;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
if v != v goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
if v != v goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize>;
v = v cmp v;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: boolean recordStats>;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: boolean recordStats>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
java.lang.Object[] v;
long v, v;
java.lang.Integer v;
java.lang.Long v, v;
java.time.Duration v, v, v;
int v, v;
java.lang.Boolean v;
boolean v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
com.github.benmanes.caffeine.cache.Caffeine$Strength v, v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v = newarray (java.lang.Object)[9];
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: int initialCapacity>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumSize>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: long maximumWeight>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength keyStrength>;
v[3] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: com.github.benmanes.caffeine.cache.Caffeine$Strength valueStrength>;
v[4] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: boolean recordStats>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[5] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterWrite>;
v[6] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration expireAfterAccess>;
v[7] = v;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.time.Duration refreshAfterWrite>;
v[8] = v;
v = staticinvoke <java.util.Objects: int hash(java.lang.Object[])>(v);
return v;
}
public java.lang.String toParsableString()
{
java.lang.String v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v = v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.lang.String specification>;
return v;
}
public java.lang.String toString()
{
java.lang.Class v;
java.lang.String v, v, v;
com.github.benmanes.caffeine.cache.CaffeineSpec v;
v := @this: com.github.benmanes.caffeine.cache.CaffeineSpec;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.CaffeineSpec: java.lang.String toParsableString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u0001{\u0001}");
return v;
}
}