final class oadd.com.google.common.collect.SparseImmutableTable extends oadd.com.google.common.collect.RegularImmutableTable
{
static final oadd.com.google.common.collect.ImmutableTable EMPTY;
private final oadd.com.google.common.collect.ImmutableMap rowMap;
private final oadd.com.google.common.collect.ImmutableMap columnMap;
private final int[] cellRowIndices;
private final int[] cellColumnInRowIndices;
void <init>(oadd.com.google.common.collect.ImmutableList, oadd.com.google.common.collect.ImmutableSet, oadd.com.google.common.collect.ImmutableSet)
{
int[] v, v;
oadd.com.google.common.collect.ImmutableMap$Builder v, v;
boolean v, v, v, v;
java.util.Set v, v;
oadd.com.google.common.collect.SparseImmutableTable v;
oadd.com.google.common.collect.UnmodifiableIterator v, v;
java.util.LinkedHashMap v, v, v, v;
oadd.com.google.common.collect.ImmutableMap v, v, v, v, v;
int v, v, v, v, v, v, v, v;
oadd.com.google.common.collect.ImmutableSet v, v;
java.util.Iterator v, v;
oadd.com.google.common.collect.ImmutableList v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v := @parameter: oadd.com.google.common.collect.ImmutableList;
v := @parameter: oadd.com.google.common.collect.ImmutableSet;
v := @parameter: oadd.com.google.common.collect.ImmutableSet;
specialinvoke v.<oadd.com.google.common.collect.RegularImmutableTable: void <init>()>();
v = staticinvoke <oadd.com.google.common.collect.Maps: oadd.com.google.common.collect.ImmutableMap indexMap(java.util.Collection)>(v);
v = staticinvoke <oadd.com.google.common.collect.Maps: java.util.LinkedHashMap newLinkedHashMap()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.UnmodifiableIterator 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 = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = staticinvoke <oadd.com.google.common.collect.Maps: java.util.LinkedHashMap newLinkedHashMap()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.UnmodifiableIterator 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 = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: int size()>();
v = newarray (int)[v];
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: int size()>();
v = newarray (int)[v];
v = 0;
label:
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: int size()>();
if v >= v goto label;
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<oadd.com.google.common.collect.Table$Cell: java.lang.Object getRowKey()>();
v = interfaceinvoke v.<oadd.com.google.common.collect.Table$Cell: java.lang.Object getColumnKey()>();
v = interfaceinvoke v.<oadd.com.google.common.collect.Table$Cell: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v[v] = v;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: int size()>();
v[v] = v;
v = interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<oadd.com.google.common.collect.SparseImmutableTable: void checkNoDuplicate(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>(v, v, v, v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellRowIndices> = v;
v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellColumnInRowIndices> = v;
v = new oadd.com.google.common.collect.ImmutableMap$Builder;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<oadd.com.google.common.collect.ImmutableMap$Builder: void <init>(int)>(v);
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 = staticinvoke <oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableMap copyOf(java.util.Map)>(v);
virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap$Builder: oadd.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap$Builder: oadd.com.google.common.collect.ImmutableMap build()>();
v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableMap rowMap> = v;
v = new oadd.com.google.common.collect.ImmutableMap$Builder;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<oadd.com.google.common.collect.ImmutableMap$Builder: void <init>(int)>(v);
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 = staticinvoke <oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableMap copyOf(java.util.Map)>(v);
virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap$Builder: oadd.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap$Builder: oadd.com.google.common.collect.ImmutableMap build()>();
v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableMap columnMap> = v;
return;
}
public oadd.com.google.common.collect.ImmutableMap columnMap()
{
oadd.com.google.common.collect.ImmutableMap v, v;
oadd.com.google.common.collect.SparseImmutableTable v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v = v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableMap columnMap>;
v = staticinvoke <oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableMap copyOf(java.util.Map)>(v);
return v;
}
public oadd.com.google.common.collect.ImmutableMap rowMap()
{
oadd.com.google.common.collect.ImmutableMap v, v;
oadd.com.google.common.collect.SparseImmutableTable v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v = v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableMap rowMap>;
v = staticinvoke <oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableMap copyOf(java.util.Map)>(v);
return v;
}
public int size()
{
int v;
oadd.com.google.common.collect.SparseImmutableTable v;
int[] v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v = v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellRowIndices>;
v = lengthof v;
return v;
}
oadd.com.google.common.collect.Table$Cell getCell(int)
{
oadd.com.google.common.collect.ImmutableMap v;
oadd.com.google.common.collect.Table$Cell v;
int[] v, v;
int v, v, v;
oadd.com.google.common.collect.ImmutableSet v, v;
oadd.com.google.common.collect.SparseImmutableTable v;
oadd.com.google.common.collect.ImmutableList v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v := @parameter: int;
v = v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellRowIndices>;
v = v[v];
v = v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableMap rowMap>;
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableSet entrySet()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.ImmutableList asList()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellColumnInRowIndices>;
v = v[v];
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableSet entrySet()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.ImmutableList asList()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.Table$Cell cellOf(java.lang.Object,java.lang.Object,java.lang.Object)>(v, v, v);
return v;
}
java.lang.Object getValue(int)
{
oadd.com.google.common.collect.ImmutableCollection v, v;
oadd.com.google.common.collect.ImmutableMap v;
oadd.com.google.common.collect.SparseImmutableTable v;
int[] v, v;
int v, v, v;
oadd.com.google.common.collect.ImmutableList v, v;
java.lang.Object v, v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v := @parameter: int;
v = v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellRowIndices>;
v = v[v];
v = v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableMap rowMap>;
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableCollection values()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableCollection: oadd.com.google.common.collect.ImmutableList asList()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellColumnInRowIndices>;
v = v[v];
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableMap: oadd.com.google.common.collect.ImmutableCollection values()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableCollection: oadd.com.google.common.collect.ImmutableList asList()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
return v;
}
oadd.com.google.common.collect.ImmutableTable$SerializedForm createSerializedForm()
{
oadd.com.google.common.collect.UnmodifiableIterator v;
oadd.com.google.common.collect.ImmutableMap v;
oadd.com.google.common.collect.ImmutableTable$SerializedForm v;
int[] v, v;
int v, v, v, v;
boolean v;
oadd.com.google.common.collect.ImmutableSet v, v, v;
oadd.com.google.common.collect.SparseImmutableTable v;
java.lang.Object v, v, v;
v := @this: oadd.com.google.common.collect.SparseImmutableTable;
v = virtualinvoke v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableSet columnKeySet()>();
v = staticinvoke <oadd.com.google.common.collect.Maps: oadd.com.google.common.collect.ImmutableMap indexMap(java.util.Collection)>(v);
v = virtualinvoke v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableSet cellSet()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableSet: int size()>();
v = newarray (int)[v];
v = 0;
v = virtualinvoke v.<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableSet cellSet()>();
v = virtualinvoke v.<oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.UnmodifiableIterator 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 = v;
v = v + 1;
v = interfaceinvoke v.<oadd.com.google.common.collect.Table$Cell: java.lang.Object getColumnKey()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v[v] = v;
goto label;
label:
v = v.<oadd.com.google.common.collect.SparseImmutableTable: int[] cellRowIndices>;
v = staticinvoke <oadd.com.google.common.collect.ImmutableTable$SerializedForm: oadd.com.google.common.collect.ImmutableTable$SerializedForm create(oadd.com.google.common.collect.ImmutableTable,int[],int[])>(v, v, v);
return v;
}
static void <clinit>()
{
oadd.com.google.common.collect.SparseImmutableTable v;
oadd.com.google.common.collect.ImmutableList v;
oadd.com.google.common.collect.ImmutableSet v, v;
v = new oadd.com.google.common.collect.SparseImmutableTable;
v = staticinvoke <oadd.com.google.common.collect.ImmutableList: oadd.com.google.common.collect.ImmutableList of()>();
v = staticinvoke <oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.ImmutableSet of()>();
v = staticinvoke <oadd.com.google.common.collect.ImmutableSet: oadd.com.google.common.collect.ImmutableSet of()>();
specialinvoke v.<oadd.com.google.common.collect.SparseImmutableTable: void <init>(oadd.com.google.common.collect.ImmutableList,oadd.com.google.common.collect.ImmutableSet,oadd.com.google.common.collect.ImmutableSet)>(v, v, v);
<oadd.com.google.common.collect.SparseImmutableTable: oadd.com.google.common.collect.ImmutableTable EMPTY> = v;
return;
}
}