public class org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry extends org.apache.commons.collections.map.AbstractHashedMap$HashEntry
{
private final org.apache.commons.collections.map.AbstractReferenceMap parent;
public void <init>(org.apache.commons.collections.map.AbstractReferenceMap, org.apache.commons.collections.map.AbstractHashedMap$HashEntry, int, java.lang.Object, java.lang.Object)
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength v, v;
int v;
org.apache.commons.collections.map.AbstractReferenceMap v;
java.lang.Object v, v, v, v;
org.apache.commons.collections.map.AbstractHashedMap$HashEntry v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v := @parameter: org.apache.commons.collections.map.AbstractReferenceMap;
v := @parameter: org.apache.commons.collections.map.AbstractHashedMap$HashEntry;
v := @parameter: int;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
specialinvoke v.<org.apache.commons.collections.map.AbstractHashedMap$HashEntry: void <init>(org.apache.commons.collections.map.AbstractHashedMap$HashEntry,int,java.lang.Object,java.lang.Object)>(v, v, null, null);
v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent> = v;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength keyType>;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object toReference(org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength,java.lang.Object,int)>(v, v, v);
v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object key> = v;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength valueType>;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object toReference(org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength,java.lang.Object,int)>(v, v, v);
v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value> = v;
return;
}
public java.lang.Object getKey()
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength v, v;
org.apache.commons.collections.map.AbstractReferenceMap v;
java.lang.Object v, v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength keyType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v != v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object key>;
goto label;
label:
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object key>;
v = virtualinvoke v.<java.lang.ref.Reference: java.lang.Object get()>();
label:
return v;
}
public java.lang.Object getValue()
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength v, v;
org.apache.commons.collections.map.AbstractReferenceMap v;
java.lang.Object v, v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength valueType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v != v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value>;
goto label;
label:
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value>;
v = virtualinvoke v.<java.lang.ref.Reference: java.lang.Object get()>();
label:
return v;
}
public java.lang.Object setValue(java.lang.Object)
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength v, v, v;
int v;
org.apache.commons.collections.map.AbstractReferenceMap v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object getValue()>();
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength valueType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v == v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value>;
virtualinvoke v.<java.lang.ref.Reference: void clear()>();
label:
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength valueType>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: int hashCode>;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object toReference(org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength,java.lang.Object,int)>(v, v, v);
v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value> = v;
return v;
}
public boolean equals(java.lang.Object)
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap v, v;
java.lang.Object v, v, v, v, v;
boolean v, v, v, v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof java.util.Map$Entry;
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
if v == null goto label;
if v != null goto label;
label:
return 0;
label:
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object key>;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap: boolean isEqualKey(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap: boolean isEqualValue(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
int v;
org.apache.commons.collections.map.AbstractReferenceMap v;
java.lang.Object v, v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object getKey()>();
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap: int hashEntry(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
protected java.lang.Object toReference(org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength, java.lang.Object, int)
{
org.apache.commons.collections.map.AbstractReferenceMap$SoftRef v;
java.lang.Error v;
java.lang.ref.ReferenceQueue v, v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength v, v, v, v;
org.apache.commons.collections.map.AbstractReferenceMap$WeakRef v;
int v;
org.apache.commons.collections.map.AbstractReferenceMap v, v;
java.lang.Object v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v := @parameter: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength;
v := @parameter: java.lang.Object;
v := @parameter: int;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v != v goto label;
return v;
label:
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength SOFT>;
if v != v goto label;
v = new org.apache.commons.collections.map.AbstractReferenceMap$SoftRef;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: java.lang.ref.ReferenceQueue queue>;
specialinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$SoftRef: void <init>(int,java.lang.Object,java.lang.ref.ReferenceQueue)>(v, v, v);
return v;
label:
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength WEAK>;
if v != v goto label;
v = new org.apache.commons.collections.map.AbstractReferenceMap$WeakRef;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: java.lang.ref.ReferenceQueue queue>;
specialinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$WeakRef: void <init>(int,java.lang.Object,java.lang.ref.ReferenceQueue)>(v, v, v);
return v;
label:
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
}
protected void onPurge()
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
return;
}
protected boolean purge(java.lang.ref.Reference)
{
org.apache.commons.collections.map.AbstractReferenceMap v, v, v, v, v;
boolean v, v, v, v;
java.lang.ref.Reference v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v := @parameter: java.lang.ref.Reference;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength keyType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v == v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object key>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength valueType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v == v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength keyType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v == v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object key>;
virtualinvoke v.<java.lang.ref.Reference: void clear()>();
label:
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength valueType>;
v = <org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceStrength HARD>;
if v == v goto label;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value>;
virtualinvoke v.<java.lang.ref.Reference: void clear()>();
goto label;
label:
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractReferenceMap parent>;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap: boolean purgeValues>;
if v == 0 goto label;
virtualinvoke v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: void nullValue()>();
label:
return v;
}
protected org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry next()
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
org.apache.commons.collections.map.AbstractHashedMap$HashEntry v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v = v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: org.apache.commons.collections.map.AbstractHashedMap$HashEntry next>;
return v;
}
protected void nullValue()
{
org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry v;
v := @this: org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry;
v.<org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntry: java.lang.Object value> = null;
return;
}
}