abstract class com.google.common.collect.AbstractBiMap extends com.google.common.collect.ForwardingMap implements com.google.common.collect.BiMap, java.io.Serializable
{
private transient java.util.Map delegate;
transient com.google.common.collect.AbstractBiMap inverse;
private transient java.util.Set keySet;
private transient java.util.Set valueSet;
private transient java.util.Set entrySet;
private static final long serialVersionUID;
void <init>(java.util.Map, java.util.Map)
{
com.google.common.collect.AbstractBiMap v;
java.util.Map v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
specialinvoke v.<com.google.common.collect.ForwardingMap: void <init>()>();
virtualinvoke v.<com.google.common.collect.AbstractBiMap: void setDelegates(java.util.Map,java.util.Map)>(v, v);
return;
}
private void <init>(java.util.Map, com.google.common.collect.AbstractBiMap)
{
com.google.common.collect.AbstractBiMap v, v;
java.util.Map v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.util.Map;
v := @parameter: com.google.common.collect.AbstractBiMap;
specialinvoke v.<com.google.common.collect.ForwardingMap: void <init>()>();
v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate> = v;
v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse> = v;
return;
}
protected java.util.Map delegate()
{
com.google.common.collect.AbstractBiMap v;
java.util.Map v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
return v;
}
java.lang.Object checkKey(java.lang.Object)
{
java.lang.Object v;
com.google.common.collect.AbstractBiMap v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
return v;
}
java.lang.Object checkValue(java.lang.Object)
{
java.lang.Object v;
com.google.common.collect.AbstractBiMap v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
return v;
}
void setDelegates(java.util.Map, java.util.Map)
{
com.google.common.collect.AbstractBiMap v, v, v;
java.util.Map v, v, v;
boolean v, v, v, v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean)>(v);
v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate> = v;
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap makeInverse(java.util.Map)>(v);
v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse> = v;
return;
}
com.google.common.collect.AbstractBiMap makeInverse(java.util.Map)
{
com.google.common.collect.AbstractBiMap$Inverse v;
com.google.common.collect.AbstractBiMap v;
java.util.Map v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.util.Map;
v = new com.google.common.collect.AbstractBiMap$Inverse;
specialinvoke v.<com.google.common.collect.AbstractBiMap$Inverse: void <init>(java.util.Map,com.google.common.collect.AbstractBiMap)>(v, v);
return v;
}
void setInverse(com.google.common.collect.AbstractBiMap)
{
com.google.common.collect.AbstractBiMap v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: com.google.common.collect.AbstractBiMap;
v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse> = v;
return;
}
public boolean containsValue(java.lang.Object)
{
com.google.common.collect.AbstractBiMap v, v;
java.lang.Object v;
boolean v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: boolean containsKey(java.lang.Object)>(v);
return v;
}
public java.lang.Object put(java.lang.Object, java.lang.Object)
{
com.google.common.collect.AbstractBiMap v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object putInBothMaps(java.lang.Object,java.lang.Object,boolean)>(v, v, 0);
return v;
}
public java.lang.Object forcePut(java.lang.Object, java.lang.Object)
{
com.google.common.collect.AbstractBiMap v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object putInBothMaps(java.lang.Object,java.lang.Object,boolean)>(v, v, 1);
return v;
}
private java.lang.Object putInBothMaps(java.lang.Object, java.lang.Object, boolean)
{
com.google.common.collect.BiMap v;
com.google.common.collect.AbstractBiMap v;
java.util.Map v;
java.lang.Object v, v, v, v;
boolean v, v, v, v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
virtualinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object checkKey(java.lang.Object)>(v);
virtualinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object checkValue(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <com.google.common.base.Objects: boolean equal(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return v;
label:
if v == 0 goto label;
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.BiMap inverse()>();
interfaceinvoke v.<com.google.common.collect.BiMap: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: boolean containsValue(java.lang.Object)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkArgument(boolean,java.lang.String,java.lang.Object)>(v, "value already present: %s", v);
label:
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
specialinvoke v.<com.google.common.collect.AbstractBiMap: void updateInverseMap(java.lang.Object,boolean,java.lang.Object,java.lang.Object)>(v, v, v, v);
return v;
}
private void updateInverseMap(java.lang.Object, boolean, java.lang.Object, java.lang.Object)
{
com.google.common.collect.AbstractBiMap v, v;
java.util.Map v;
java.lang.Object v, v, v, v;
boolean v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v == 0 goto label;
v = staticinvoke <com.google.common.collect.NullnessCasts: java.lang.Object uncheckedCastNullableTToT(java.lang.Object)>(v);
specialinvoke v.<com.google.common.collect.AbstractBiMap: void removeFromInverseMap(java.lang.Object)>(v);
label:
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public java.lang.Object remove(java.lang.Object)
{
com.google.common.collect.AbstractBiMap v;
java.lang.Object v, v;
boolean v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<com.google.common.collect.AbstractBiMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = specialinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object removeFromBothMaps(java.lang.Object)>(v);
goto label;
label:
v = null;
label:
return v;
}
private java.lang.Object removeFromBothMaps(java.lang.Object)
{
com.google.common.collect.AbstractBiMap v;
java.util.Map v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = staticinvoke <com.google.common.collect.NullnessCasts: java.lang.Object uncheckedCastNullableTToT(java.lang.Object)>(v);
specialinvoke v.<com.google.common.collect.AbstractBiMap: void removeFromInverseMap(java.lang.Object)>(v);
return v;
}
private void removeFromInverseMap(java.lang.Object)
{
com.google.common.collect.AbstractBiMap v, v;
java.util.Map v;
java.lang.Object v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.lang.Object;
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
return;
}
public void putAll(java.util.Map)
{
java.util.Iterator v;
com.google.common.collect.AbstractBiMap v;
java.util.Set v;
java.util.Map v;
java.lang.Object v, v, v;
boolean v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<com.google.common.collect.AbstractBiMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return;
}
public void replaceAll(java.util.function.BiFunction)
{
com.google.common.collect.AbstractBiMap v, v, v;
java.util.function.BiFunction v;
java.util.Map v, v, v, v;
int v, v;
java.lang.String v, v, v;
boolean v;
java.util.Map$Entry v;
java.util.Iterator v;
java.util.Set v;
java.lang.IllegalArgumentException v;
java.lang.Object v, v, v, v, v;
java.lang.StringBuilder v;
v := @this: com.google.common.collect.AbstractBiMap;
v := @parameter: java.util.function.BiFunction;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
interfaceinvoke v.<java.util.Map: void replaceAll(java.util.function.BiFunction)>(v);
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = null;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = v;
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
if v == null goto label;
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 23 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("value already present: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public void clear()
{
com.google.common.collect.AbstractBiMap v, v;
java.util.Map v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
interfaceinvoke v.<java.util.Map: void clear()>();
return;
}
public com.google.common.collect.BiMap inverse()
{
com.google.common.collect.AbstractBiMap v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: com.google.common.collect.AbstractBiMap inverse>;
return v;
}
public java.util.Set keySet()
{
com.google.common.collect.AbstractBiMap v;
com.google.common.collect.AbstractBiMap$KeySet v;
java.util.Set v, v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Set keySet>;
if v != null goto label;
v = new com.google.common.collect.AbstractBiMap$KeySet;
v = v;
specialinvoke v.<com.google.common.collect.AbstractBiMap$KeySet: void <init>(com.google.common.collect.AbstractBiMap)>(v);
v.<com.google.common.collect.AbstractBiMap: java.util.Set keySet> = v;
goto label;
label:
v = v;
label:
return v;
}
public java.util.Set values()
{
com.google.common.collect.AbstractBiMap v;
java.util.Set v, v;
com.google.common.collect.AbstractBiMap$ValueSet v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Set valueSet>;
if v != null goto label;
v = new com.google.common.collect.AbstractBiMap$ValueSet;
v = v;
specialinvoke v.<com.google.common.collect.AbstractBiMap$ValueSet: void <init>(com.google.common.collect.AbstractBiMap)>(v);
v.<com.google.common.collect.AbstractBiMap: java.util.Set valueSet> = v;
goto label;
label:
v = v;
label:
return v;
}
public java.util.Set entrySet()
{
com.google.common.collect.AbstractBiMap v;
java.util.Set v, v;
com.google.common.collect.AbstractBiMap$EntrySet v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Set entrySet>;
if v != null goto label;
v = new com.google.common.collect.AbstractBiMap$EntrySet;
v = v;
specialinvoke v.<com.google.common.collect.AbstractBiMap$EntrySet: void <init>(com.google.common.collect.AbstractBiMap)>(v);
v.<com.google.common.collect.AbstractBiMap: java.util.Set entrySet> = v;
goto label;
label:
v = v;
label:
return v;
}
java.util.Iterator entrySetIterator()
{
com.google.common.collect.AbstractBiMap$1 v;
java.util.Iterator v;
com.google.common.collect.AbstractBiMap v;
java.util.Map v;
java.util.Set v;
v := @this: com.google.common.collect.AbstractBiMap;
v = v.<com.google.common.collect.AbstractBiMap: java.util.Map delegate>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
v = new com.google.common.collect.AbstractBiMap$1;
specialinvoke v.<com.google.common.collect.AbstractBiMap$1: void <init>(com.google.common.collect.AbstractBiMap,java.util.Iterator)>(v, v);
return v;
}
}