final class com.google.common.graph.MapRetrievalCache extends com.google.common.graph.MapIteratorCache
{
private transient volatile com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry;
private transient volatile com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry;
void <init>(java.util.Map)
{
com.google.common.graph.MapRetrievalCache v;
java.util.Map v;
v := @this: com.google.common.graph.MapRetrievalCache;
v := @parameter: java.util.Map;
specialinvoke v.<com.google.common.graph.MapIteratorCache: void <init>(java.util.Map)>(v);
return;
}
java.lang.Object get(java.lang.Object)
{
java.lang.Object v, v, v;
com.google.common.graph.MapRetrievalCache v;
v := @this: com.google.common.graph.MapRetrievalCache;
v := @parameter: java.lang.Object;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.graph.MapRetrievalCache: java.lang.Object getIfCached(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<com.google.common.graph.MapRetrievalCache: java.lang.Object getWithoutCaching(java.lang.Object)>(v);
if v == null goto label;
specialinvoke v.<com.google.common.graph.MapRetrievalCache: void addToCache(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
java.lang.Object getIfCached(java.lang.Object)
{
com.google.common.graph.MapRetrievalCache v;
com.google.common.graph.MapRetrievalCache$CacheEntry v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: com.google.common.graph.MapRetrievalCache;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.graph.MapIteratorCache: java.lang.Object getIfCached(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry1>;
if v == null goto label;
v = v.<com.google.common.graph.MapRetrievalCache$CacheEntry: java.lang.Object key>;
if v != v goto label;
v = v.<com.google.common.graph.MapRetrievalCache$CacheEntry: java.lang.Object value>;
return v;
label:
v = v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry2>;
if v == null goto label;
v = v.<com.google.common.graph.MapRetrievalCache$CacheEntry: java.lang.Object key>;
if v != v goto label;
specialinvoke v.<com.google.common.graph.MapRetrievalCache: void addToCache(com.google.common.graph.MapRetrievalCache$CacheEntry)>(v);
v = v.<com.google.common.graph.MapRetrievalCache$CacheEntry: java.lang.Object value>;
return v;
label:
return null;
}
void clearCache()
{
com.google.common.graph.MapRetrievalCache v;
v := @this: com.google.common.graph.MapRetrievalCache;
specialinvoke v.<com.google.common.graph.MapIteratorCache: void clearCache()>();
v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry1> = null;
v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry2> = null;
return;
}
private void addToCache(java.lang.Object, java.lang.Object)
{
java.lang.Object v, v;
com.google.common.graph.MapRetrievalCache v;
com.google.common.graph.MapRetrievalCache$CacheEntry v;
v := @this: com.google.common.graph.MapRetrievalCache;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = new com.google.common.graph.MapRetrievalCache$CacheEntry;
specialinvoke v.<com.google.common.graph.MapRetrievalCache$CacheEntry: void <init>(java.lang.Object,java.lang.Object)>(v, v);
specialinvoke v.<com.google.common.graph.MapRetrievalCache: void addToCache(com.google.common.graph.MapRetrievalCache$CacheEntry)>(v);
return;
}
private void addToCache(com.google.common.graph.MapRetrievalCache$CacheEntry)
{
com.google.common.graph.MapRetrievalCache v;
com.google.common.graph.MapRetrievalCache$CacheEntry v, v;
v := @this: com.google.common.graph.MapRetrievalCache;
v := @parameter: com.google.common.graph.MapRetrievalCache$CacheEntry;
v = v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry1>;
v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry2> = v;
v.<com.google.common.graph.MapRetrievalCache: com.google.common.graph.MapRetrievalCache$CacheEntry cacheEntry1> = v;
return;
}
}