abstract class com.google.common.collect.AbstractSortedMultiset extends com.google.common.collect.AbstractMultiset implements com.google.common.collect.SortedMultiset
{
final java.util.Comparator comparator;
private transient com.google.common.collect.SortedMultiset descendingMultiset;
void <init>()
{
com.google.common.collect.Ordering v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = staticinvoke <com.google.common.collect.Ordering: com.google.common.collect.Ordering natural()>();
specialinvoke v.<com.google.common.collect.AbstractSortedMultiset: void <init>(java.util.Comparator)>(v);
return;
}
void <init>(java.util.Comparator)
{
java.lang.Object v;
java.util.Comparator v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v := @parameter: java.util.Comparator;
specialinvoke v.<com.google.common.collect.AbstractMultiset: void <init>()>();
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<com.google.common.collect.AbstractSortedMultiset: java.util.Comparator comparator> = v;
return;
}
public java.util.NavigableSet elementSet()
{
java.util.Set v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = specialinvoke v.<com.google.common.collect.AbstractMultiset: java.util.Set elementSet()>();
return v;
}
java.util.NavigableSet createElementSet()
{
com.google.common.collect.SortedMultisets$NavigableElementSet v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = new com.google.common.collect.SortedMultisets$NavigableElementSet;
specialinvoke v.<com.google.common.collect.SortedMultisets$NavigableElementSet: void <init>(com.google.common.collect.SortedMultiset)>(v);
return v;
}
public java.util.Comparator comparator()
{
java.util.Comparator v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = v.<com.google.common.collect.AbstractSortedMultiset: java.util.Comparator comparator>;
return v;
}
public com.google.common.collect.Multiset$Entry firstEntry()
{
java.util.Iterator v;
java.lang.Object v;
com.google.common.collect.AbstractSortedMultiset v;
boolean v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: java.util.Iterator entryIterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = null;
label:
return v;
}
public com.google.common.collect.Multiset$Entry lastEntry()
{
java.util.Iterator v;
java.lang.Object v;
com.google.common.collect.AbstractSortedMultiset v;
boolean v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: java.util.Iterator descendingEntryIterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = null;
label:
return v;
}
public com.google.common.collect.Multiset$Entry pollFirstEntry()
{
java.util.Iterator v;
int v;
java.lang.Object v, v;
com.google.common.collect.Multiset$Entry v;
com.google.common.collect.AbstractSortedMultiset v;
boolean v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: java.util.Iterator entryIterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<com.google.common.collect.Multiset$Entry: java.lang.Object getElement()>();
v = interfaceinvoke v.<com.google.common.collect.Multiset$Entry: int getCount()>();
v = staticinvoke <com.google.common.collect.Multisets: com.google.common.collect.Multiset$Entry immutableEntry(java.lang.Object,int)>(v, v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
return v;
label:
return null;
}
public com.google.common.collect.Multiset$Entry pollLastEntry()
{
java.util.Iterator v;
int v;
java.lang.Object v, v;
com.google.common.collect.Multiset$Entry v;
com.google.common.collect.AbstractSortedMultiset v;
boolean v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: java.util.Iterator descendingEntryIterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<com.google.common.collect.Multiset$Entry: java.lang.Object getElement()>();
v = interfaceinvoke v.<com.google.common.collect.Multiset$Entry: int getCount()>();
v = staticinvoke <com.google.common.collect.Multisets: com.google.common.collect.Multiset$Entry immutableEntry(java.lang.Object,int)>(v, v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
return v;
label:
return null;
}
public com.google.common.collect.SortedMultiset subMultiset(java.lang.Object, com.google.common.collect.BoundType, java.lang.Object, com.google.common.collect.BoundType)
{
com.google.common.collect.SortedMultiset v, v;
com.google.common.collect.BoundType v, v;
java.lang.Object v, v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v := @parameter: java.lang.Object;
v := @parameter: com.google.common.collect.BoundType;
v := @parameter: java.lang.Object;
v := @parameter: com.google.common.collect.BoundType;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: com.google.common.collect.SortedMultiset tailMultiset(java.lang.Object,com.google.common.collect.BoundType)>(v, v);
v = interfaceinvoke v.<com.google.common.collect.SortedMultiset: com.google.common.collect.SortedMultiset headMultiset(java.lang.Object,com.google.common.collect.BoundType)>(v, v);
return v;
}
abstract java.util.Iterator descendingEntryIterator();
java.util.Iterator descendingIterator()
{
com.google.common.collect.SortedMultiset v;
java.util.Iterator v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: com.google.common.collect.SortedMultiset descendingMultiset()>();
v = staticinvoke <com.google.common.collect.Multisets: java.util.Iterator iteratorImpl(com.google.common.collect.Multiset)>(v);
return v;
}
public com.google.common.collect.SortedMultiset descendingMultiset()
{
com.google.common.collect.SortedMultiset v, v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = v.<com.google.common.collect.AbstractSortedMultiset: com.google.common.collect.SortedMultiset descendingMultiset>;
if v != null goto label;
v = virtualinvoke v.<com.google.common.collect.AbstractSortedMultiset: com.google.common.collect.SortedMultiset createDescendingMultiset()>();
v.<com.google.common.collect.AbstractSortedMultiset: com.google.common.collect.SortedMultiset descendingMultiset> = v;
goto label;
label:
v = v;
label:
return v;
}
com.google.common.collect.SortedMultiset createDescendingMultiset()
{
com.google.common.collect.AbstractSortedMultiset$1DescendingMultisetImpl v;
com.google.common.collect.AbstractSortedMultiset v;
v := @this: com.google.common.collect.AbstractSortedMultiset;
v = new com.google.common.collect.AbstractSortedMultiset$1DescendingMultisetImpl;
specialinvoke v.<com.google.common.collect.AbstractSortedMultiset$1DescendingMultisetImpl: void <init>(com.google.common.collect.AbstractSortedMultiset)>(v);
return v;
}
}