class com.github.benmanes.caffeine.cache.WSMWA extends com.github.benmanes.caffeine.cache.WSMW
{
static final com.github.benmanes.caffeine.cache.LocalCacheFactory FACTORY;
final com.github.benmanes.caffeine.cache.Ticker ticker;
final com.github.benmanes.caffeine.cache.Expiry expiry;
final com.github.benmanes.caffeine.cache.TimerWheel timerWheel;
volatile long expiresAfterAccessNanos;
final com.github.benmanes.caffeine.cache.Pacer pacer;
void <init>(com.github.benmanes.caffeine.cache.Caffeine, com.github.benmanes.caffeine.cache.AsyncCacheLoader, boolean)
{
com.github.benmanes.caffeine.cache.Pacer v;
com.github.benmanes.caffeine.cache.Ticker v;
com.github.benmanes.caffeine.cache.WSMWA v;
com.github.benmanes.caffeine.cache.Caffeine v;
com.github.benmanes.caffeine.cache.TimerWheel v;
long v;
com.github.benmanes.caffeine.cache.Scheduler v, v, v;
com.github.benmanes.caffeine.cache.AsyncCacheLoader v;
com.github.benmanes.caffeine.cache.Expiry v;
boolean v, v, v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v := @parameter: com.github.benmanes.caffeine.cache.Caffeine;
v := @parameter: com.github.benmanes.caffeine.cache.AsyncCacheLoader;
v := @parameter: boolean;
specialinvoke v.<com.github.benmanes.caffeine.cache.WSMW: void <init>(com.github.benmanes.caffeine.cache.Caffeine,com.github.benmanes.caffeine.cache.AsyncCacheLoader,boolean)>(v, v, v);
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Ticker getTicker()>();
v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.Ticker ticker> = v;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: boolean isAsync>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Expiry getExpiry(boolean)>(v);
v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.Expiry expiry> = v;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: boolean expiresVariable()>();
if v == 0 goto label;
v = new com.github.benmanes.caffeine.cache.TimerWheel;
specialinvoke v.<com.github.benmanes.caffeine.cache.TimerWheel: void <init>()>();
goto label;
label:
v = null;
label:
v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.TimerWheel timerWheel> = v;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: long getExpiresAfterAccessNanos()>();
v.<com.github.benmanes.caffeine.cache.WSMWA: long expiresAfterAccessNanos> = v;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler getScheduler()>();
v = staticinvoke <com.github.benmanes.caffeine.cache.Scheduler: com.github.benmanes.caffeine.cache.Scheduler disabledScheduler()>();
if v != v goto label;
v = null;
goto label;
label:
v = new com.github.benmanes.caffeine.cache.Pacer;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Caffeine: com.github.benmanes.caffeine.cache.Scheduler getScheduler()>();
specialinvoke v.<com.github.benmanes.caffeine.cache.Pacer: void <init>(com.github.benmanes.caffeine.cache.Scheduler)>(v);
label:
v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.Pacer pacer> = v;
return;
}
public final com.github.benmanes.caffeine.cache.Ticker expirationTicker()
{
com.github.benmanes.caffeine.cache.Ticker v;
com.github.benmanes.caffeine.cache.WSMWA v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.Ticker ticker>;
return v;
}
protected final boolean expiresVariable()
{
com.github.benmanes.caffeine.cache.TimerWheel v;
com.github.benmanes.caffeine.cache.WSMWA v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.TimerWheel timerWheel>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public final com.github.benmanes.caffeine.cache.Expiry expiry()
{
com.github.benmanes.caffeine.cache.WSMWA v;
com.github.benmanes.caffeine.cache.Expiry v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.Expiry expiry>;
return v;
}
protected final com.github.benmanes.caffeine.cache.TimerWheel timerWheel()
{
com.github.benmanes.caffeine.cache.TimerWheel v;
com.github.benmanes.caffeine.cache.WSMWA v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.TimerWheel timerWheel>;
return v;
}
protected final boolean expiresAfterAccess()
{
com.github.benmanes.caffeine.cache.TimerWheel v;
com.github.benmanes.caffeine.cache.WSMWA v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.TimerWheel timerWheel>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected final long expiresAfterAccessNanos()
{
com.github.benmanes.caffeine.cache.WSMWA v;
long v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: long expiresAfterAccessNanos>;
return v;
}
protected final void setExpiresAfterAccessNanos(long)
{
com.github.benmanes.caffeine.cache.WSMWA v;
long v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v := @parameter: long;
v.<com.github.benmanes.caffeine.cache.WSMWA: long expiresAfterAccessNanos> = v;
return;
}
public final com.github.benmanes.caffeine.cache.Pacer pacer()
{
com.github.benmanes.caffeine.cache.Pacer v;
com.github.benmanes.caffeine.cache.WSMWA v;
v := @this: com.github.benmanes.caffeine.cache.WSMWA;
v = v.<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.Pacer pacer>;
return v;
}
static void <clinit>()
{
com.github.benmanes.caffeine.cache.LocalCacheFactory v;
v = staticinvoke <com.github.benmanes.caffeine.cache.WSMWA$init__468: com.github.benmanes.caffeine.cache.LocalCacheFactory bootstrap$()>();
<com.github.benmanes.caffeine.cache.WSMWA: com.github.benmanes.caffeine.cache.LocalCacheFactory FACTORY> = v;
return;
}
}