final class com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound extends com.google.common.collect.AbstractNavigableMap
{
private final com.google.common.collect.Range lowerBoundWindow;
private final com.google.common.collect.Range restriction;
private final java.util.NavigableMap rangesByLowerBound;
private final java.util.NavigableMap rangesByUpperBound;
private void <init>(com.google.common.collect.Range, com.google.common.collect.Range, java.util.NavigableMap)
{
com.google.common.collect.Range v, v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: com.google.common.collect.Range;
v := @parameter: com.google.common.collect.Range;
v := @parameter: java.util.NavigableMap;
specialinvoke v.<com.google.common.collect.AbstractNavigableMap: void <init>()>();
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow> = v;
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction> = v;
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByLowerBound> = v;
v = new com.google.common.collect.TreeRangeSet$RangesByUpperBound;
specialinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: void <init>(java.util.NavigableMap)>(v);
v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByUpperBound> = v;
return;
}
private java.util.NavigableMap subMap(com.google.common.collect.Range)
{
com.google.common.collect.Range v, v, v, v, v;
java.util.NavigableMap v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v, v;
com.google.common.collect.ImmutableSortedMap v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: com.google.common.collect.Range;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean isConnected(com.google.common.collect.Range)>(v);
if v != 0 goto label;
v = staticinvoke <com.google.common.collect.ImmutableSortedMap: com.google.common.collect.ImmutableSortedMap of()>();
return v;
label:
v = new com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: com.google.common.collect.Range intersection(com.google.common.collect.Range)>(v);
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByLowerBound>;
specialinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: void <init>(com.google.common.collect.Range,com.google.common.collect.Range,java.util.NavigableMap)>(v, v, v);
return v;
}
public java.util.NavigableMap subMap(com.google.common.collect.Cut, boolean, com.google.common.collect.Cut, boolean)
{
com.google.common.collect.Cut v, v;
com.google.common.collect.Range v;
java.util.NavigableMap v;
com.google.common.collect.BoundType v, v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
boolean v, v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: com.google.common.collect.Cut;
v := @parameter: boolean;
v := @parameter: com.google.common.collect.Cut;
v := @parameter: boolean;
v = staticinvoke <com.google.common.collect.BoundType: com.google.common.collect.BoundType forBoolean(boolean)>(v);
v = staticinvoke <com.google.common.collect.BoundType: com.google.common.collect.BoundType forBoolean(boolean)>(v);
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range range(java.lang.Comparable,com.google.common.collect.BoundType,java.lang.Comparable,com.google.common.collect.BoundType)>(v, v, v, v);
v = specialinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap subMap(com.google.common.collect.Range)>(v);
return v;
}
public java.util.NavigableMap headMap(com.google.common.collect.Cut, boolean)
{
com.google.common.collect.Cut v;
com.google.common.collect.BoundType v;
com.google.common.collect.Range v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
java.util.NavigableMap v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: com.google.common.collect.Cut;
v := @parameter: boolean;
v = staticinvoke <com.google.common.collect.BoundType: com.google.common.collect.BoundType forBoolean(boolean)>(v);
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range upTo(java.lang.Comparable,com.google.common.collect.BoundType)>(v, v);
v = specialinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap subMap(com.google.common.collect.Range)>(v);
return v;
}
public java.util.NavigableMap tailMap(com.google.common.collect.Cut, boolean)
{
com.google.common.collect.Cut v;
com.google.common.collect.BoundType v;
com.google.common.collect.Range v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
java.util.NavigableMap v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: com.google.common.collect.Cut;
v := @parameter: boolean;
v = staticinvoke <com.google.common.collect.BoundType: com.google.common.collect.BoundType forBoolean(boolean)>(v);
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range downTo(java.lang.Comparable,com.google.common.collect.BoundType)>(v, v);
v = specialinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap subMap(com.google.common.collect.Range)>(v);
return v;
}
public java.util.Comparator comparator()
{
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
com.google.common.collect.Ordering v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v = staticinvoke <com.google.common.collect.Ordering: com.google.common.collect.Ordering natural()>();
return v;
}
public boolean containsKey(java.lang.Object)
{
com.google.common.collect.Range v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
java.lang.Object v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range get(java.lang.Object)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.google.common.collect.Range get(java.lang.Object)
{
java.lang.ClassCastException v;
int v, v, v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
boolean v, v, v;
com.google.common.collect.Cut v, v, v, v, v;
java.util.Map$Entry v;
com.google.common.collect.Range v, v, v, v, v, v, v, v, v;
java.util.NavigableMap v, v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v := @parameter: java.lang.Object;
v = v instanceof com.google.common.collect.Cut;
if v == 0 goto label;
label:
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean contains(java.lang.Comparable)>(v);
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: int compareTo(com.google.common.collect.Cut)>(v);
if v < 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: int compareTo(com.google.common.collect.Cut)>(v);
if v < 0 goto label;
label:
return null;
label:
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Map$Entry floorEntry(java.lang.Object)>(v);
v = staticinvoke <com.google.common.collect.Maps: java.lang.Object valueOrNull(java.util.Map$Entry)>(v);
if v == null goto label;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: int compareTo(com.google.common.collect.Cut)>(v);
if v <= 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = virtualinvoke v.<com.google.common.collect.Range: com.google.common.collect.Range intersection(com.google.common.collect.Range)>(v);
label:
return v;
label:
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = virtualinvoke v.<com.google.common.collect.Range: com.google.common.collect.Range intersection(com.google.common.collect.Range)>(v);
label:
return v;
label:
v := @caughtexception;
return null;
label:
return null;
catch java.lang.ClassCastException from label to label with label;
catch java.lang.ClassCastException from label to label with label;
catch java.lang.ClassCastException from label to label with label;
}
java.util.Iterator entryIterator()
{
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
boolean v, v, v, v;
java.util.Collection v, v;
com.google.common.collect.Range v, v, v, v, v, v, v, v, v, v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound$1 v;
java.util.NavigableMap v, v, v, v;
com.google.common.collect.BoundType v, v;
com.google.common.collect.Cut v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
com.google.common.collect.Ordering v;
java.lang.Comparable v;
java.lang.Object v;
com.google.common.collect.UnmodifiableIterator v, v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <com.google.common.collect.Iterators: com.google.common.collect.UnmodifiableIterator emptyIterator()>();
return v;
label:
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: boolean isLessThan(java.lang.Comparable)>(v);
if v == 0 goto label;
v = staticinvoke <com.google.common.collect.Iterators: com.google.common.collect.UnmodifiableIterator emptyIterator()>();
return v;
label:
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: boolean isLessThan(java.lang.Comparable)>(v);
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByUpperBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap tailMap(java.lang.Object,boolean)>(v, 0);
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
goto label;
label:
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByLowerBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: java.lang.Comparable endpoint()>();
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: com.google.common.collect.BoundType lowerBoundType()>();
v = <com.google.common.collect.BoundType: com.google.common.collect.BoundType CLOSED>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap tailMap(java.lang.Object,boolean)>(v, v);
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = staticinvoke <com.google.common.collect.Ordering: com.google.common.collect.Ordering natural()>();
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = staticinvoke <com.google.common.collect.Cut: com.google.common.collect.Cut belowValue(java.lang.Comparable)>(v);
v = virtualinvoke v.<com.google.common.collect.Ordering: java.lang.Object min(java.lang.Object,java.lang.Object)>(v, v);
v = new com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound$1;
specialinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound$1: void <init>(com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound,java.util.Iterator,com.google.common.collect.Cut)>(v, v, v);
return v;
}
java.util.Iterator descendingEntryIterator()
{
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
boolean v, v;
com.google.common.collect.Cut v, v, v;
java.util.Iterator v;
java.util.Collection v;
com.google.common.collect.Range v, v, v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound$2 v;
java.util.NavigableMap v, v, v;
com.google.common.collect.Ordering v;
com.google.common.collect.BoundType v, v;
java.lang.Comparable v;
java.lang.Object v;
com.google.common.collect.UnmodifiableIterator v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <com.google.common.collect.Iterators: com.google.common.collect.UnmodifiableIterator emptyIterator()>();
return v;
label:
v = staticinvoke <com.google.common.collect.Ordering: com.google.common.collect.Ordering natural()>();
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range lowerBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: com.google.common.collect.Range restriction>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = staticinvoke <com.google.common.collect.Cut: com.google.common.collect.Cut belowValue(java.lang.Comparable)>(v);
v = virtualinvoke v.<com.google.common.collect.Ordering: java.lang.Object min(java.lang.Object,java.lang.Object)>(v, v);
v = v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.NavigableMap rangesByLowerBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: java.lang.Comparable endpoint()>();
v = virtualinvoke v.<com.google.common.collect.Cut: com.google.common.collect.BoundType typeAsUpperBound()>();
v = <com.google.common.collect.BoundType: com.google.common.collect.BoundType CLOSED>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap headMap(java.lang.Object,boolean)>(v, v);
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap descendingMap()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = new com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound$2;
specialinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound$2: void <init>(com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound,java.util.Iterator)>(v, v);
return v;
}
public int size()
{
int v;
com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound v;
java.util.Iterator v;
v := @this: com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound;
v = virtualinvoke v.<com.google.common.collect.TreeRangeSet$SubRangeSetRangesByLowerBound: java.util.Iterator entryIterator()>();
v = staticinvoke <com.google.common.collect.Iterators: int size(java.util.Iterator)>(v);
return v;
}
}