final class com.google.common.collect.ImmutableRangeSet$ComplementRanges extends com.google.common.collect.ImmutableList
{
private final boolean positiveBoundedBelow;
private final boolean positiveBoundedAbove;
private final int size;
final com.google.common.collect.ImmutableRangeSet this$0;
void <init>(com.google.common.collect.ImmutableRangeSet)
{
com.google.common.collect.ImmutableList v, v, v;
int v, v;
com.google.common.collect.ImmutableRangeSet$ComplementRanges v;
java.lang.Object v, v;
com.google.common.collect.ImmutableRangeSet v;
boolean v, v, v, v;
v := @this: com.google.common.collect.ImmutableRangeSet$ComplementRanges;
v := @parameter: com.google.common.collect.ImmutableRangeSet;
v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: com.google.common.collect.ImmutableRangeSet this$0> = v;
specialinvoke v.<com.google.common.collect.ImmutableList: void <init>()>();
v = v.<com.google.common.collect.ImmutableRangeSet: com.google.common.collect.ImmutableList ranges>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: java.lang.Object get(int)>(0);
v = virtualinvoke v.<com.google.common.collect.Range: boolean hasLowerBound()>();
v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedBelow> = v;
v = v.<com.google.common.collect.ImmutableRangeSet: com.google.common.collect.ImmutableList ranges>;
v = staticinvoke <com.google.common.collect.Iterables: java.lang.Object getLast(java.lang.Iterable)>(v);
v = virtualinvoke v.<com.google.common.collect.Range: boolean hasUpperBound()>();
v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedAbove> = v;
v = v.<com.google.common.collect.ImmutableRangeSet: com.google.common.collect.ImmutableList ranges>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: int size()>();
v = v - 1;
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedBelow>;
if v == 0 goto label;
v = v + 1;
label:
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedAbove>;
if v == 0 goto label;
v = v + 1;
label:
v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: int size> = v;
return;
}
public int size()
{
int v;
com.google.common.collect.ImmutableRangeSet$ComplementRanges v;
v := @this: com.google.common.collect.ImmutableRangeSet$ComplementRanges;
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: int size>;
return v;
}
public com.google.common.collect.Range get(int)
{
com.google.common.collect.ImmutableList v, v, v;
int v, v, v, v, v, v;
com.google.common.collect.ImmutableRangeSet v, v, v;
boolean v, v, v, v;
com.google.common.collect.Cut v, v, v;
com.google.common.collect.Range v;
com.google.common.collect.ImmutableRangeSet$ComplementRanges v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.ImmutableRangeSet$ComplementRanges;
v := @parameter: int;
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: int size>;
staticinvoke <com.google.common.base.Preconditions: int checkElementIndex(int,int)>(v, v);
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedBelow>;
if v == 0 goto label;
if v != 0 goto label;
v = staticinvoke <com.google.common.collect.Cut: com.google.common.collect.Cut belowAll()>();
goto label;
label:
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: com.google.common.collect.ImmutableRangeSet this$0>;
v = v.<com.google.common.collect.ImmutableRangeSet: com.google.common.collect.ImmutableList ranges>;
v = v - 1;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
label:
v = v;
goto label;
label:
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: com.google.common.collect.ImmutableRangeSet this$0>;
v = v.<com.google.common.collect.ImmutableRangeSet: com.google.common.collect.ImmutableList ranges>;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
label:
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedAbove>;
if v == 0 goto label;
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: int size>;
v = v - 1;
if v != v goto label;
v = staticinvoke <com.google.common.collect.Cut: com.google.common.collect.Cut aboveAll()>();
goto label;
label:
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: com.google.common.collect.ImmutableRangeSet this$0>;
v = v.<com.google.common.collect.ImmutableRangeSet: com.google.common.collect.ImmutableList ranges>;
v = v.<com.google.common.collect.ImmutableRangeSet$ComplementRanges: boolean positiveBoundedBelow>;
if v == 0 goto label;
v = 0;
goto label;
label:
v = 1;
label:
v = v + v;
v = virtualinvoke v.<com.google.common.collect.ImmutableList: java.lang.Object get(int)>(v);
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
label:
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range create(com.google.common.collect.Cut,com.google.common.collect.Cut)>(v, v);
return v;
}
boolean isPartialView()
{
com.google.common.collect.ImmutableRangeSet$ComplementRanges v;
v := @this: com.google.common.collect.ImmutableRangeSet$ComplementRanges;
return 1;
}
}