final class com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator extends java.lang.Object implements java.util.Iterator
{
final com.github.benmanes.caffeine.cache.BoundedLocalCache cache;
final java.util.Iterator iterator;
java.lang.Object key;
java.lang.Object value;
java.lang.Object removalKey;
com.github.benmanes.caffeine.cache.Node next;
void <init>(com.github.benmanes.caffeine.cache.BoundedLocalCache)
{
java.util.Iterator v;
java.util.Collection v;
com.github.benmanes.caffeine.cache.BoundedLocalCache v;
java.util.concurrent.ConcurrentHashMap v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v := @parameter: com.github.benmanes.caffeine.cache.BoundedLocalCache;
specialinvoke v.<java.lang.Object: void <init>()>();
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache: java.util.concurrent.ConcurrentHashMap data>;
v = virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.util.Iterator iterator> = v;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.BoundedLocalCache cache> = v;
return;
}
public boolean hasNext()
{
com.github.benmanes.caffeine.cache.Ticker v;
long v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
com.github.benmanes.caffeine.cache.Node v, v, v, v, v;
boolean v, v, v, v, v;
java.util.Iterator v, v;
com.github.benmanes.caffeine.cache.BoundedLocalCache v, v, v;
java.lang.Object v, v, v, v, v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next>;
if v == null goto label;
return 1;
label:
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.BoundedLocalCache cache>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache: com.github.benmanes.caffeine.cache.Ticker expirationTicker()>();
v = interfaceinvoke v.<com.github.benmanes.caffeine.cache.Ticker: long read()>();
label:
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.util.Iterator iterator>;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.util.Iterator iterator>;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next> = v;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Node: java.lang.Object getValue()>();
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object value> = v;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Node: java.lang.Object getKey()>();
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key> = v;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object value>;
if v == null goto label;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.BoundedLocalCache cache>;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache: boolean hasExpired(com.github.benmanes.caffeine.cache.Node,long)>(v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next>;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Node: boolean isAlive()>();
if v != 0 goto label;
label:
if v == 0 goto label;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.BoundedLocalCache cache>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache: void scheduleDrainBuffers()>();
label:
virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: void advance()>();
goto label;
label:
return 1;
label:
return 0;
}
void advance()
{
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object value> = null;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.Node next> = null;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key> = null;
return;
}
java.lang.Object nextKey()
{
java.lang.Object v, v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
java.util.NoSuchElementException v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: boolean hasNext()>();
if v != 0 goto label;
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>()>();
throw v;
label:
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key>;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey> = v;
virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: void advance()>();
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey>;
return v;
}
java.lang.Object nextValue()
{
java.lang.Object v, v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
java.util.NoSuchElementException v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: boolean hasNext()>();
if v != 0 goto label;
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>()>();
throw v;
label:
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key>;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey> = v;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object value>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: void advance()>();
return v;
}
public java.util.Map$Entry next()
{
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
com.github.benmanes.caffeine.cache.BoundedLocalCache v;
com.github.benmanes.caffeine.cache.WriteThroughEntry v;
java.lang.Object v, v, v;
java.util.NoSuchElementException v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: boolean hasNext()>();
if v != 0 goto label;
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>()>();
throw v;
label:
v = new com.github.benmanes.caffeine.cache.WriteThroughEntry;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.BoundedLocalCache cache>;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key>;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object value>;
specialinvoke v.<com.github.benmanes.caffeine.cache.WriteThroughEntry: void <init>(java.util.concurrent.ConcurrentMap,java.lang.Object,java.lang.Object)>(v, v, v);
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object key>;
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey> = v;
virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: void advance()>();
return v;
}
public void remove()
{
java.lang.IllegalStateException v;
com.github.benmanes.caffeine.cache.BoundedLocalCache v;
java.lang.Object v, v;
com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator v;
v := @this: com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: com.github.benmanes.caffeine.cache.BoundedLocalCache cache>;
v = v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey>;
virtualinvoke v.<com.github.benmanes.caffeine.cache.BoundedLocalCache: java.lang.Object remove(java.lang.Object)>(v);
v.<com.github.benmanes.caffeine.cache.BoundedLocalCache$EntryIterator: java.lang.Object removalKey> = null;
return;
}
}