public abstract class com.google.common.collect.testing.AbstractMapTester extends com.google.common.collect.testing.AbstractContainerTester
{
public void <init>()
{
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
specialinvoke v.<com.google.common.collect.testing.AbstractContainerTester: void <init>()>();
return;
}
protected java.util.Map getMap()
{
java.lang.Object v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object container>;
return v;
}
protected java.util.Collection actualContents()
{
java.util.Set v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
return v;
}
protected final void resetMap()
{
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object resetContainer()>();
return;
}
protected void resetMap(java.util.Map$Entry[])
{
com.google.common.collect.testing.AbstractMapTester v;
java.lang.Object v, v;
java.util.Map$Entry[] v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.util.Map$Entry[];
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object getSubjectGenerator()>();
v = interfaceinvoke v.<com.google.common.collect.testing.OneSizeTestContainerGenerator: java.lang.Object create(java.lang.Object[])>(v);
virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object resetContainer(java.lang.Object)>(v);
return;
}
protected transient void expectMissingKeys(java.lang.Object[])
{
java.lang.Object[] v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map v;
int v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.lang.Object[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Should not contain key \u0001");
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertFalse(java.lang.String,boolean)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected transient void expectMissingValues(java.lang.Object[])
{
java.lang.Object[] v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map v;
int v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.lang.Object[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Should not contain value \u0001");
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map: boolean containsValue(java.lang.Object)>(v);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertFalse(java.lang.String,boolean)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected java.util.Map$Entry[] createArrayWithNullKey()
{
java.util.Map$Entry v, v;
java.lang.Object[] v;
com.google.common.collect.testing.AbstractMapTester v;
int v;
java.lang.Object v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object[] createSamplesArray()>();
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: int getNullLocation()>();
v = v[v];
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map$Entry entry(java.lang.Object,java.lang.Object)>(null, v);
v[v] = v;
return v;
}
protected java.lang.Object getValueForNullKey()
{
java.lang.Object v;
java.util.Map$Entry v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = specialinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map$Entry getEntryNullReplaces()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
protected java.lang.Object getKeyForNullValue()
{
java.lang.Object v;
java.util.Map$Entry v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = specialinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map$Entry getEntryNullReplaces()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
return v;
}
private java.util.Map$Entry getEntryNullReplaces()
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Iterator v;
java.util.Collection v;
int v, v;
java.lang.Object v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Collection getSampleElements()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = 0;
label:
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: int getNullLocation()>();
if v >= v goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
return v;
}
protected java.util.Map$Entry[] createArrayWithNullValue()
{
java.util.Map$Entry v, v;
java.lang.Object[] v;
com.google.common.collect.testing.AbstractMapTester v;
int v;
java.lang.Object v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object[] createSamplesArray()>();
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: int getNullLocation()>();
v = v[v];
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map$Entry entry(java.lang.Object,java.lang.Object)>(v, null);
v[v] = v;
return v;
}
protected void initMapWithNullKey()
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map$Entry[] v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map$Entry[] createArrayWithNullKey()>();
virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: void resetMap(java.util.Map$Entry[])>(v);
return;
}
protected void initMapWithNullValue()
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map$Entry[] v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map$Entry[] createArrayWithNullValue()>();
virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: void resetMap(java.util.Map$Entry[])>(v);
return;
}
protected void expectNullKeyMissingWhenNullKeysUnsupported(java.lang.String)
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map v;
java.lang.String v;
java.lang.NullPointerException v;
boolean v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(null);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertFalse(java.lang.String,boolean)>(v, v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.NullPointerException from label to label with label;
}
protected void expectNullValueMissingWhenNullValuesUnsupported(java.lang.String)
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map v;
java.lang.String v;
java.lang.NullPointerException v;
boolean v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map: boolean containsValue(java.lang.Object)>(null);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertFalse(java.lang.String,boolean)>(v, v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.NullPointerException from label to label with label;
}
protected com.google.common.collect.testing.MinimalCollection createDisjointCollection()
{
com.google.common.collect.testing.AbstractMapTester v;
java.lang.Object v, v;
com.google.common.collect.testing.MinimalCollection v;
java.util.Map$Entry[] v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = newarray (java.util.Map$Entry)[2];
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e3()>();
v[0] = v;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e4()>();
v[1] = v;
v = staticinvoke <com.google.common.collect.testing.MinimalCollection: com.google.common.collect.testing.MinimalCollection of(java.lang.Object[])>(v);
return v;
}
protected int getNumEntries()
{
int v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: int getNumElements()>();
return v;
}
protected java.util.Collection getSampleEntries(int)
{
int v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.Collection v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: int;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Collection getSampleElements(int)>(v);
return v;
}
protected java.util.Collection getSampleEntries()
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Collection v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Collection getSampleElements()>();
return v;
}
protected transient void expectMissing(java.util.Map$Entry[])
{
java.util.Map v;
int v, v;
java.lang.String v, v;
java.util.Map$Entry[] v;
boolean v, v;
java.util.Map$Entry v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.Collection v;
java.lang.Object v, v, v, v, v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.util.Map$Entry[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Map$Entry)>(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[])>("Should not contain entry \u0001");
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Collection actualContents()>();
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertFalse(java.lang.String,boolean)>(v, v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object,java.lang.Object)>(v, 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[])>("Should not contain key \u mapped to value \u0001");
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <com.google.common.collect.testing.AbstractMapTester: boolean equal(java.lang.Object,java.lang.Object)>(v, v);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertFalse(java.lang.String,boolean)>(v, v);
v = v + 1;
goto label;
label:
return;
}
private static boolean equal(java.lang.Object, java.lang.Object)
{
java.lang.Object v, v;
boolean v, v;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
if v == v goto label;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected java.util.Map$Entry entry(java.lang.Object, java.lang.Object)
{
java.util.Map$Entry v;
com.google.common.collect.testing.AbstractMapTester v;
java.lang.Object v, v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = staticinvoke <com.google.common.collect.testing.Helpers: java.util.Map$Entry mapEntry(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
protected void expectContents(java.util.Collection)
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Iterator v;
java.util.Collection v;
java.util.Map v;
java.lang.Object v, v, v, v, v;
java.lang.String v;
boolean v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.util.Collection;
specialinvoke v.<com.google.common.collect.testing.AbstractContainerTester: void expectContents(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.Collection: 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 = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("Wrong value for key \u0001");
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <com.google.common.collect.testing.AbstractMapTester: void assertEquals(java.lang.String,java.lang.Object,java.lang.Object)>(v, v, v);
goto label;
label:
return;
}
protected final void expectReplacement(java.util.Map$Entry)
{
java.util.List v;
java.util.Map$Entry v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.Collection v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.util.Map$Entry;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Collection getSampleElements()>();
v = staticinvoke <com.google.common.collect.testing.Helpers: java.util.List copyToList(java.lang.Iterable)>(v);
specialinvoke v.<com.google.common.collect.testing.AbstractMapTester: void replaceValue(java.util.List,java.util.Map$Entry)>(v, v);
virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: void expectContents(java.util.Collection)>(v);
return;
}
private void replaceValue(java.util.List, java.util.Map$Entry)
{
java.util.Map$Entry v;
java.lang.Object[] v;
com.google.common.collect.testing.AbstractMapTester v;
java.util.ListIterator v;
java.lang.IllegalArgumentException v;
java.util.List v;
java.lang.Object v, v, v, v;
java.lang.String v;
boolean v, v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.util.List;
v := @parameter: java.util.Map$Entry;
v = interfaceinvoke v.<java.util.List: java.util.ListIterator listIterator()>();
label:
v = interfaceinvoke v.<java.util.ListIterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.ListIterator: 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 getKey()>();
v = staticinvoke <com.google.common.collect.testing.Helpers: boolean equal(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
interfaceinvoke v.<java.util.ListIterator: void set(java.lang.Object)>(v);
return;
label:
v = new java.lang.IllegalArgumentException;
v = newarray (java.lang.Object)[2];
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v[0] = v;
v[1] = v;
v = staticinvoke <com.google.common.collect.testing.Platform: java.lang.String format(java.lang.String,java.lang.Object[])>("key %s not found in entries %s", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
protected java.lang.Object get(java.lang.Object)
{
com.google.common.collect.testing.AbstractMapTester v;
java.util.Map v;
java.lang.Object v, v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.util.Map getMap()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
protected final java.lang.Object k0()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e0()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
return v;
}
protected final java.lang.Object v0()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e0()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
protected final java.lang.Object k1()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e1()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
return v;
}
protected final java.lang.Object v1()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e1()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
protected final java.lang.Object k2()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e2()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
return v;
}
protected final java.lang.Object v2()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e2()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
protected final java.lang.Object k3()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e3()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
return v;
}
protected final java.lang.Object v3()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e3()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
protected final java.lang.Object k4()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e4()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
return v;
}
protected final java.lang.Object v4()
{
java.lang.Object v, v;
com.google.common.collect.testing.AbstractMapTester v;
v := @this: com.google.common.collect.testing.AbstractMapTester;
v = virtualinvoke v.<com.google.common.collect.testing.AbstractMapTester: java.lang.Object e4()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
return v;
}
}