public final class com.google.common.collect.ImmutableSortedSet$Builder extends com.google.common.collect.ImmutableSet$Builder
{
private final java.util.Comparator comparator;
private java.lang.Object[] elements;
private int n;
public void <init>(java.util.Comparator)
{
java.lang.Object[] v;
java.lang.Object v;
com.google.common.collect.ImmutableSortedSet$Builder v;
java.util.Comparator v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v := @parameter: java.util.Comparator;
specialinvoke v.<com.google.common.collect.ImmutableSet$Builder: void <init>(boolean)>(1);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.collect.ImmutableSortedSet$Builder: java.util.Comparator comparator> = v;
v = newarray (java.lang.Object)[4];
v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements> = v;
v.<com.google.common.collect.ImmutableSortedSet$Builder: int n> = 0;
return;
}
void copy()
{
java.lang.Object[] v, v, v;
int v;
com.google.common.collect.ImmutableSortedSet$Builder v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = lengthof v;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements> = v;
return;
}
private void sortAndDedup()
{
java.lang.Object[] v, v, v, v, v, v;
java.lang.AssertionError v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
com.google.common.collect.ImmutableSortedSet$Builder v;
java.lang.Object v, v, v;
java.lang.StringBuilder v;
java.util.Comparator v, v, v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
if v != 0 goto label;
return;
label:
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.util.Comparator comparator>;
staticinvoke <java.util.Arrays: void sort(java.lang.Object[],int,int,java.util.Comparator)>(v, 0, v, v);
v = 1;
v = 1;
label:
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
if v >= v goto label;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.util.Comparator comparator>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v - 1;
v = v[v];
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v[v];
v = interfaceinvoke v.<java.util.Comparator: int compare(java.lang.Object,java.lang.Object)>(v, v);
if v >= 0 goto label;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v;
v = v + 1;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v[v];
v[v] = v;
goto label;
label:
if v <= 0 goto label;
v = new java.lang.AssertionError;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.util.Comparator comparator>;
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 = 48 + 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[])>("Comparator \u compare method violates its contract");
specialinvoke v.<java.lang.AssertionError: void <init>(java.lang.Object)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
staticinvoke <java.util.Arrays: void fill(java.lang.Object[],int,int,java.lang.Object)>(v, v, v, null);
v.<com.google.common.collect.ImmutableSortedSet$Builder: int n> = v;
return;
}
public com.google.common.collect.ImmutableSortedSet$Builder add(java.lang.Object)
{
java.lang.Object[] v, v, v, v, v;
int v, v, v, v, v, v, v, v, v;
com.google.common.collect.ImmutableSortedSet$Builder v;
java.lang.Object v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v := @parameter: java.lang.Object;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
virtualinvoke v.<com.google.common.collect.ImmutableSortedSet$Builder: void copyIfNecessary()>();
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = lengthof v;
if v != v goto label;
specialinvoke v.<com.google.common.collect.ImmutableSortedSet$Builder: void sortAndDedup()>();
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
v = v + 1;
v = staticinvoke <com.google.common.collect.ImmutableCollection$Builder: int expandedCapacity(int,int)>(v, v);
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = lengthof v;
if v <= v goto label;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements> = v;
label:
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
v = v + 1;
v.<com.google.common.collect.ImmutableSortedSet$Builder: int n> = v;
v[v] = v;
return v;
}
public transient com.google.common.collect.ImmutableSortedSet$Builder add(java.lang.Object[])
{
java.lang.Object[] v;
int v, v;
java.lang.Object v;
com.google.common.collect.ImmutableSortedSet$Builder v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v := @parameter: java.lang.Object[];
staticinvoke <com.google.common.collect.ObjectArrays: java.lang.Object[] checkElementsNotNull(java.lang.Object[])>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<com.google.common.collect.ImmutableSortedSet$Builder: com.google.common.collect.ImmutableSortedSet$Builder add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return v;
}
public com.google.common.collect.ImmutableSortedSet$Builder addAll(java.lang.Iterable)
{
com.google.common.collect.ImmutableSortedSet$Builder v;
java.lang.Iterable v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v := @parameter: java.lang.Iterable;
specialinvoke v.<com.google.common.collect.ImmutableSet$Builder: com.google.common.collect.ImmutableSet$Builder addAll(java.lang.Iterable)>(v);
return v;
}
public com.google.common.collect.ImmutableSortedSet$Builder addAll(java.util.Iterator)
{
com.google.common.collect.ImmutableSortedSet$Builder v;
java.util.Iterator v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v := @parameter: java.util.Iterator;
specialinvoke v.<com.google.common.collect.ImmutableSet$Builder: com.google.common.collect.ImmutableSet$Builder addAll(java.util.Iterator)>(v);
return v;
}
com.google.common.collect.ImmutableSortedSet$Builder combine(com.google.common.collect.ImmutableSet$Builder)
{
java.lang.Object[] v;
com.google.common.collect.ImmutableSet$Builder v;
int v, v;
java.lang.Object v;
com.google.common.collect.ImmutableSortedSet$Builder v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
v := @parameter: com.google.common.collect.ImmutableSet$Builder;
virtualinvoke v.<com.google.common.collect.ImmutableSortedSet$Builder: void copyIfNecessary()>();
v = 0;
label:
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
if v >= v goto label;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v[v];
virtualinvoke v.<com.google.common.collect.ImmutableSortedSet$Builder: com.google.common.collect.ImmutableSortedSet$Builder add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return v;
}
public com.google.common.collect.ImmutableSortedSet build()
{
java.lang.Object[] v;
com.google.common.collect.ImmutableSortedSet$Builder v;
com.google.common.collect.ImmutableList v;
int v, v;
com.google.common.collect.RegularImmutableSortedSet v, v;
java.util.Comparator v, v;
v := @this: com.google.common.collect.ImmutableSortedSet$Builder;
specialinvoke v.<com.google.common.collect.ImmutableSortedSet$Builder: void sortAndDedup()>();
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
if v != 0 goto label;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.util.Comparator comparator>;
v = staticinvoke <com.google.common.collect.ImmutableSortedSet: com.google.common.collect.RegularImmutableSortedSet emptySet(java.util.Comparator)>(v);
return v;
label:
v.<com.google.common.collect.ImmutableSortedSet$Builder: boolean forceCopy> = 1;
v = new com.google.common.collect.RegularImmutableSortedSet;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.lang.Object[] elements>;
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: int n>;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int)>(v, v);
v = v.<com.google.common.collect.ImmutableSortedSet$Builder: java.util.Comparator comparator>;
specialinvoke v.<com.google.common.collect.RegularImmutableSortedSet: void <init>(com.google.common.collect.ImmutableList,java.util.Comparator)>(v, v);
return v;
}
}