final class com.github.benmanes.caffeine.cache.Interned extends com.github.benmanes.caffeine.cache.Node implements com.github.benmanes.caffeine.cache.NodeFactory
{
static final com.github.benmanes.caffeine.cache.NodeFactory FACTORY;
volatile java.lang.ref.Reference keyReference;
void <init>()
{
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
specialinvoke v.<com.github.benmanes.caffeine.cache.Node: void <init>()>();
return;
}
void <init>(java.lang.ref.Reference)
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.ref.Reference;
specialinvoke v.<com.github.benmanes.caffeine.cache.Node: void <init>()>();
v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference> = v;
return;
}
public java.lang.Object getKey()
{
java.lang.ref.Reference v;
java.lang.Object v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
v = virtualinvoke v.<java.lang.ref.Reference: java.lang.Object get()>();
return v;
}
public java.lang.Object getKeyReference()
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
return v;
}
public java.lang.Object getValue()
{
java.lang.Boolean v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
return v;
}
public java.lang.Object getValueReference()
{
java.lang.Boolean v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
return v;
}
public void setValue(java.lang.Object, java.lang.ref.ReferenceQueue)
{
java.lang.Object v;
com.github.benmanes.caffeine.cache.Interned v;
java.lang.ref.ReferenceQueue v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.ref.ReferenceQueue;
return;
}
public boolean containsValue(java.lang.Object)
{
com.github.benmanes.caffeine.cache.Interned v;
java.lang.Object v, v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<com.github.benmanes.caffeine.cache.Interned: java.lang.Object getValue()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public com.github.benmanes.caffeine.cache.Node newNode(java.lang.Object, java.lang.ref.ReferenceQueue, java.lang.Object, java.lang.ref.ReferenceQueue, int, long)
{
com.github.benmanes.caffeine.cache.References$WeakKeyEqualsReference v;
com.github.benmanes.caffeine.cache.Interned v, v;
long v;
java.lang.ref.ReferenceQueue v, v;
int v;
java.lang.Object v, v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.ref.ReferenceQueue;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.ref.ReferenceQueue;
v := @parameter: int;
v := @parameter: long;
v = new com.github.benmanes.caffeine.cache.Interned;
v = new com.github.benmanes.caffeine.cache.References$WeakKeyEqualsReference;
specialinvoke v.<com.github.benmanes.caffeine.cache.References$WeakKeyEqualsReference: void <init>(java.lang.Object,java.lang.ref.ReferenceQueue)>(v, v);
specialinvoke v.<com.github.benmanes.caffeine.cache.Interned: void <init>(java.lang.ref.Reference)>(v);
return v;
}
public com.github.benmanes.caffeine.cache.Node newNode(java.lang.Object, java.lang.Object, java.lang.ref.ReferenceQueue, int, long)
{
com.github.benmanes.caffeine.cache.Interned v, v;
int v;
java.lang.Object v, v;
long v;
java.lang.ref.ReferenceQueue v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.ref.ReferenceQueue;
v := @parameter: int;
v := @parameter: long;
v = new com.github.benmanes.caffeine.cache.Interned;
specialinvoke v.<com.github.benmanes.caffeine.cache.Interned: void <init>(java.lang.ref.Reference)>(v);
return v;
}
public java.lang.Object newLookupKey(java.lang.Object)
{
com.github.benmanes.caffeine.cache.References$LookupKeyEqualsReference v;
java.lang.Object v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.Object;
v = new com.github.benmanes.caffeine.cache.References$LookupKeyEqualsReference;
specialinvoke v.<com.github.benmanes.caffeine.cache.References$LookupKeyEqualsReference: void <init>(java.lang.Object)>(v);
return v;
}
public java.lang.Object newReferenceKey(java.lang.Object, java.lang.ref.ReferenceQueue)
{
com.github.benmanes.caffeine.cache.References$WeakKeyEqualsReference v;
com.github.benmanes.caffeine.cache.Interned v;
java.lang.Object v;
java.lang.ref.ReferenceQueue v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.ref.ReferenceQueue;
v = new com.github.benmanes.caffeine.cache.References$WeakKeyEqualsReference;
specialinvoke v.<com.github.benmanes.caffeine.cache.References$WeakKeyEqualsReference: void <init>(java.lang.Object,java.lang.ref.ReferenceQueue)>(v, v);
return v;
}
public boolean isAlive()
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.NodeFactory$RetiredWeakKey v;
com.github.benmanes.caffeine.cache.Interned v;
com.github.benmanes.caffeine.cache.NodeFactory$DeadWeakKey v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
v = <com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory$RetiredWeakKey RETIRED_WEAK_KEY>;
if v == v goto label;
v = <com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory$DeadWeakKey DEAD_WEAK_KEY>;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isRetired()
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.NodeFactory$RetiredWeakKey v;
com.github.benmanes.caffeine.cache.Interned v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
v = <com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory$RetiredWeakKey RETIRED_WEAK_KEY>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void retire()
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.NodeFactory$RetiredWeakKey v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
v = <com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory$RetiredWeakKey RETIRED_WEAK_KEY>;
v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference> = v;
virtualinvoke v.<java.lang.ref.Reference: void clear()>();
return;
}
public boolean isDead()
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.Interned v;
com.github.benmanes.caffeine.cache.NodeFactory$DeadWeakKey v;
boolean v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
v = <com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory$DeadWeakKey DEAD_WEAK_KEY>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void die()
{
java.lang.ref.Reference v;
com.github.benmanes.caffeine.cache.NodeFactory$DeadWeakKey v;
com.github.benmanes.caffeine.cache.Interned v;
v := @this: com.github.benmanes.caffeine.cache.Interned;
v = v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference>;
v = <com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory$DeadWeakKey DEAD_WEAK_KEY>;
v.<com.github.benmanes.caffeine.cache.Interned: java.lang.ref.Reference keyReference> = v;
virtualinvoke v.<java.lang.ref.Reference: void clear()>();
return;
}
static void <clinit>()
{
com.github.benmanes.caffeine.cache.Interned v;
v = new com.github.benmanes.caffeine.cache.Interned;
specialinvoke v.<com.github.benmanes.caffeine.cache.Interned: void <init>()>();
<com.github.benmanes.caffeine.cache.Interned: com.github.benmanes.caffeine.cache.NodeFactory FACTORY> = v;
return;
}
}