final class com.google.common.collect.TreeRangeSet$RangesByUpperBound extends com.google.common.collect.AbstractNavigableMap
{
private final java.util.NavigableMap rangesByLowerBound;
private final com.google.common.collect.Range upperBoundWindow;
void <init>(java.util.NavigableMap)
{
com.google.common.collect.Range v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v := @parameter: java.util.NavigableMap;
specialinvoke v.<com.google.common.collect.AbstractNavigableMap: void <init>()>();
v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound> = v;
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range all()>();
v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow> = v;
return;
}
private void <init>(java.util.NavigableMap, com.google.common.collect.Range)
{
com.google.common.collect.Range v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v := @parameter: java.util.NavigableMap;
v := @parameter: com.google.common.collect.Range;
specialinvoke v.<com.google.common.collect.AbstractNavigableMap: void <init>()>();
v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound> = v;
v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow> = v;
return;
}
private java.util.NavigableMap subMap(com.google.common.collect.Range)
{
com.google.common.collect.Range v, v, v, v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v, v;
java.util.NavigableMap v;
com.google.common.collect.ImmutableSortedMap v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v := @parameter: com.google.common.collect.Range;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean isConnected(com.google.common.collect.Range)>(v);
if v == 0 goto label;
v = new com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: com.google.common.collect.Range intersection(com.google.common.collect.Range)>(v);
specialinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: void <init>(java.util.NavigableMap,com.google.common.collect.Range)>(v, v);
return v;
label:
v = staticinvoke <com.google.common.collect.ImmutableSortedMap: com.google.common.collect.ImmutableSortedMap of()>();
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;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
com.google.common.collect.BoundType v, v;
boolean v, v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
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$RangesByUpperBound: 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$RangesByUpperBound v;
java.util.NavigableMap v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
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$RangesByUpperBound: 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$RangesByUpperBound v;
java.util.NavigableMap v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
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$RangesByUpperBound: java.util.NavigableMap subMap(com.google.common.collect.Range)>(v);
return v;
}
public java.util.Comparator comparator()
{
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
com.google.common.collect.Ordering v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
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$RangesByUpperBound v;
java.lang.Object v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: 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)
{
com.google.common.collect.Cut v;
java.util.Map$Entry v;
com.google.common.collect.Range v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
java.lang.ClassCastException v;
java.lang.Object v, v, v;
boolean v, v, v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
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$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean contains(java.lang.Comparable)>(v);
if v != 0 goto label;
label:
return null;
label:
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Map$Entry lowerEntry(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
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;
}
java.util.Iterator entryIterator()
{
com.google.common.collect.TreeRangeSet$RangesByUpperBound$1 v;
boolean v, v;
com.google.common.collect.Cut v, v;
java.util.Map$Entry v;
java.util.Iterator v;
java.util.Collection v, v, v, v;
com.google.common.collect.Range v, v, v, v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v, v, v, v, v, v, v;
java.lang.Comparable v, v;
java.lang.Object v, v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean hasLowerBound()>();
if v != 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
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$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: java.lang.Comparable lowerEndpoint()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Map$Entry lowerEntry(java.lang.Object)>(v);
if v != null goto label;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
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$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut lowerBound>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
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$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap tailMap(java.lang.Object,boolean)>(v, 1);
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$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: java.lang.Comparable lowerEndpoint()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap tailMap(java.lang.Object,boolean)>(v, 1);
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = new com.google.common.collect.TreeRangeSet$RangesByUpperBound$1;
specialinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound$1: void <init>(com.google.common.collect.TreeRangeSet$RangesByUpperBound,java.util.Iterator)>(v, v);
return v;
}
java.util.Iterator descendingEntryIterator()
{
com.google.common.collect.TreeRangeSet$RangesByUpperBound$2 v;
com.google.common.collect.PeekingIterator v;
boolean v, v, v;
com.google.common.collect.Cut v, v;
java.util.Iterator v;
java.util.Collection v;
com.google.common.collect.Range v, v, v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v, v, v, v, v;
java.lang.Comparable v;
java.lang.Object v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: boolean hasUpperBound()>();
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = virtualinvoke v.<com.google.common.collect.Range: java.lang.Comparable upperEndpoint()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap headMap(java.lang.Object,boolean)>(v, 0);
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap descendingMap()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Collection values()>();
goto label;
label:
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: java.util.NavigableMap descendingMap()>();
v = interfaceinvoke v.<java.util.NavigableMap: java.util.Collection values()>();
label:
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = staticinvoke <com.google.common.collect.Iterators: com.google.common.collect.PeekingIterator peekingIterator(java.util.Iterator)>(v);
v = interfaceinvoke v.<com.google.common.collect.PeekingIterator: boolean hasNext()>();
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = interfaceinvoke v.<com.google.common.collect.PeekingIterator: java.lang.Object peek()>();
v = v.<com.google.common.collect.Range: com.google.common.collect.Cut upperBound>;
v = virtualinvoke v.<com.google.common.collect.Cut: boolean isLessThan(java.lang.Comparable)>(v);
if v == 0 goto label;
interfaceinvoke v.<com.google.common.collect.PeekingIterator: java.lang.Object next()>();
label:
v = new com.google.common.collect.TreeRangeSet$RangesByUpperBound$2;
specialinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound$2: void <init>(com.google.common.collect.TreeRangeSet$RangesByUpperBound,com.google.common.collect.PeekingIterator)>(v, v);
return v;
}
public int size()
{
java.util.Iterator v;
com.google.common.collect.Range v, v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
int v, v;
boolean v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range all()>();
v = virtualinvoke v.<com.google.common.collect.Range: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: int size()>();
return v;
label:
v = virtualinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.Iterator entryIterator()>();
v = staticinvoke <com.google.common.collect.Iterators: int size(java.util.Iterator)>(v);
return v;
}
public boolean isEmpty()
{
java.util.Iterator v;
com.google.common.collect.Range v, v;
com.google.common.collect.TreeRangeSet$RangesByUpperBound v;
java.util.NavigableMap v;
boolean v, v, v;
v := @this: com.google.common.collect.TreeRangeSet$RangesByUpperBound;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: com.google.common.collect.Range upperBoundWindow>;
v = staticinvoke <com.google.common.collect.Range: com.google.common.collect.Range all()>();
v = virtualinvoke v.<com.google.common.collect.Range: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.NavigableMap rangesByLowerBound>;
v = interfaceinvoke v.<java.util.NavigableMap: boolean isEmpty()>();
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.TreeRangeSet$RangesByUpperBound: java.util.Iterator entryIterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
}