final class com.google.common.collect.Sets$CartesianSet extends com.google.common.collect.ForwardingCollection implements java.util.Set
{
private final transient com.google.common.collect.ImmutableList axes;
private final transient com.google.common.collect.CartesianList delegate;
static java.util.Set create(java.util.List)
{
com.google.common.collect.Sets$CartesianSet v;
com.google.common.collect.ImmutableSet v, v;
com.google.common.collect.Sets$CartesianSet$1 v;
java.util.Iterator v;
com.google.common.collect.CartesianList v;
java.util.List v;
com.google.common.collect.ImmutableList v;
int v;
java.lang.Object v;
boolean v, v;
com.google.common.collect.ImmutableList$Builder v;
v := @parameter: java.util.List;
v = new com.google.common.collect.ImmutableList$Builder;
v = interfaceinvoke v.<java.util.List: int size()>();
specialinvoke v.<com.google.common.collect.ImmutableList$Builder: void <init>(int)>(v);
v = interfaceinvoke v.<java.util.List: 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 = staticinvoke <com.google.common.collect.ImmutableSet: com.google.common.collect.ImmutableSet copyOf(java.util.Collection)>(v);
v = virtualinvoke v.<com.google.common.collect.ImmutableSet: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <com.google.common.collect.ImmutableSet: com.google.common.collect.ImmutableSet of()>();
return v;
label:
virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList$Builder add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList build()>();
v = new com.google.common.collect.Sets$CartesianSet$1;
specialinvoke v.<com.google.common.collect.Sets$CartesianSet$1: void <init>(com.google.common.collect.ImmutableList)>(v);
v = new com.google.common.collect.Sets$CartesianSet;
v = new com.google.common.collect.CartesianList;
specialinvoke v.<com.google.common.collect.CartesianList: void <init>(com.google.common.collect.ImmutableList)>(v);
specialinvoke v.<com.google.common.collect.Sets$CartesianSet: void <init>(com.google.common.collect.ImmutableList,com.google.common.collect.CartesianList)>(v, v);
return v;
}
private void <init>(com.google.common.collect.ImmutableList, com.google.common.collect.CartesianList)
{
com.google.common.collect.CartesianList v;
com.google.common.collect.Sets$CartesianSet v;
com.google.common.collect.ImmutableList v;
v := @this: com.google.common.collect.Sets$CartesianSet;
v := @parameter: com.google.common.collect.ImmutableList;
v := @parameter: com.google.common.collect.CartesianList;
specialinvoke v.<com.google.common.collect.ForwardingCollection: void <init>()>();
v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes> = v;
v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.CartesianList delegate> = v;
return;
}
protected java.util.Collection delegate()
{
com.google.common.collect.CartesianList v;
com.google.common.collect.Sets$CartesianSet v;
v := @this: com.google.common.collect.Sets$CartesianSet;
v = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.CartesianList delegate>;
return v;
}
public boolean contains(java.lang.Object)
{
com.google.common.collect.Sets$CartesianSet v;
java.util.Iterator v;
com.google.common.collect.ImmutableList v, v;
int v, v, v;
java.lang.Object v, v, v;
boolean v, v, v;
v := @this: com.google.common.collect.Sets$CartesianSet;
v := @parameter: java.lang.Object;
v = v instanceof java.util.List;
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: int size()>();
if v == v goto label;
return 0;
label:
v = 0;
v = interfaceinvoke v.<java.util.List: 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 = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.google.common.collect.ImmutableSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public boolean equals(java.lang.Object)
{
com.google.common.collect.Sets$CartesianSet v;
com.google.common.collect.ImmutableList v, v;
java.lang.Object v;
boolean v, v, v;
v := @this: com.google.common.collect.Sets$CartesianSet;
v := @parameter: java.lang.Object;
v = v instanceof com.google.common.collect.Sets$CartesianSet;
if v == 0 goto label;
v = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes>;
v = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: boolean equals(java.lang.Object)>(v);
return v;
label:
v = specialinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
return v;
}
public int hashCode()
{
com.google.common.collect.Sets$CartesianSet v;
com.google.common.collect.ImmutableList v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
java.lang.Object v;
com.google.common.collect.UnmodifiableIterator v;
v := @this: com.google.common.collect.Sets$CartesianSet;
v = virtualinvoke v.<com.google.common.collect.Sets$CartesianSet: int size()>();
v = v - 1;
v = 0;
label:
v = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: int size()>();
if v >= v goto label;
v = v * 31;
v = (int) -1;
v = v ^ v;
v = (int) -1;
v = v ^ v;
v = v + 1;
goto label;
label:
v = 1;
v = v.<com.google.common.collect.Sets$CartesianSet: com.google.common.collect.ImmutableList axes>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: 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 = 31 * v;
v = virtualinvoke v.<com.google.common.collect.Sets$CartesianSet: int size()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
v = v / v;
v = interfaceinvoke v.<java.util.Set: int hashCode()>();
v = v * v;
v = v + v;
v = (int) -1;
v = v ^ v;
v = (int) -1;
v = v ^ v;
goto label;
label:
v = v + v;
v = (int) -1;
v = v ^ v;
v = (int) -1;
v = v ^ v;
return v;
}
}