class org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator extends java.lang.Object implements java.util.Iterator
{
private int cursor;
private int nextCursor;
private int expectedModCount;
private java.util.Queue forgetMeNot;
private java.util.List skipMe;
private java.lang.Object lastFromForgetMeNot;
private boolean canRemove;
final org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0;
private void <init>(org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue)
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
int v, v, v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v, v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
v := @parameter: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v = (int) -1;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor> = v;
v = (int) -1;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor> = v;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int modCount>;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int expectedModCount> = v;
return;
}
public boolean hasNext()
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
int v, v, v, v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v;
java.util.Queue v, v;
boolean v, v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: void checkModCount()>();
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor>;
v = v + 1;
specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: void nextNotInSkipMe(int)>(v);
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int size()>();
if v < v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
if v == null goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
v = interfaceinvoke v.<java.util.Queue: boolean isEmpty()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.Object next()
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
int v, v, v, v, v, v, v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v, v, v;
java.util.NoSuchElementException v;
java.lang.Object v, v, v, v;
java.util.Queue v, v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: void checkModCount()>();
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor>;
v = v + 1;
specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: void nextNotInSkipMe(int)>(v);
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int size()>();
if v >= v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor>;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor> = v;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean canRemove> = 1;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: java.lang.Object elementData(int)>(v);
return v;
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
if v == null goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int size()>();
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor> = v;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.lang.Object lastFromForgetMeNot> = v;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.lang.Object lastFromForgetMeNot>;
if v == null goto label;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean canRemove> = 1;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.lang.Object lastFromForgetMeNot>;
return v;
label:
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>(java.lang.String)>("iterator moved past last element in queue.");
throw v;
}
public void remove()
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
java.util.ArrayList v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc v;
int v, v, v, v, v, v, v, v, v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v, v;
boolean v, v, v, v;
java.util.List v, v;
java.lang.Object v, v, v, v, v;
java.util.Queue v, v, v;
java.util.ArrayDeque v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean canRemove>;
staticinvoke <org.apache.drill.shaded.guava.com.google.common.collect.CollectPreconditions: void checkRemove(boolean)>(v);
specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: void checkModCount()>();
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean canRemove> = 0;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int expectedModCount>;
v = v + 1;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int expectedModCount> = v;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int size()>();
if v >= v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc removeAt(int)>(v);
if v == null goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
if v != null goto label;
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>()>();
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(3);
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.List skipMe> = v;
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.List skipMe>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc: java.lang.Object toTrickle>;
v = specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean foundAndRemovedExactReference(java.lang.Iterable,java.lang.Object)>(v, v);
if v != 0 goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc: java.lang.Object toTrickle>;
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.Queue forgetMeNot>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc: java.lang.Object replaced>;
v = specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean foundAndRemovedExactReference(java.lang.Iterable,java.lang.Object)>(v, v);
if v != 0 goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.List skipMe>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc: java.lang.Object replaced>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor>;
v = v - 1;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int cursor> = v;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor>;
v = v - 1;
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor> = v;
goto label;
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.lang.Object lastFromForgetMeNot>;
v = specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean removeExact(java.lang.Object)>(v);
staticinvoke <org.apache.drill.shaded.guava.com.google.common.base.Preconditions: void checkState(boolean)>(v);
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.lang.Object lastFromForgetMeNot> = null;
label:
return;
}
private boolean foundAndRemovedExactReference(java.lang.Iterable, java.lang.Object)
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
java.util.Iterator v;
java.lang.Object v, v;
java.lang.Iterable v;
boolean v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
v := @parameter: java.lang.Iterable;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<java.lang.Iterable: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v != v goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
return 1;
label:
return 0;
}
private boolean removeExact(java.lang.Object)
{
java.lang.Object[] v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
int v, v;
java.lang.Object v, v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v, v, v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
v := @parameter: java.lang.Object;
v = 0;
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int size>;
if v >= v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: java.lang.Object[] queue>;
v = v[v];
if v != v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$MoveDesc removeAt(int)>(v);
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
private void checkModCount()
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
int v, v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v;
java.util.ConcurrentModificationException v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int modCount>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int expectedModCount>;
if v == v goto label;
v = new java.util.ConcurrentModificationException;
specialinvoke v.<java.util.ConcurrentModificationException: void <init>()>();
throw v;
label:
return;
}
private void nextNotInSkipMe(int)
{
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator v;
java.util.List v, v;
int v, v, v;
java.lang.Object v;
org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue v, v;
boolean v;
v := @this: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator;
v := @parameter: int;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor>;
if v >= v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.List skipMe>;
if v == null goto label;
label:
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: int size()>();
if v >= v goto label;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: java.util.List skipMe>;
v = v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue this$0>;
v = virtualinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue: java.lang.Object elementData(int)>(v);
v = specialinvoke v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: boolean foundAndRemovedExactReference(java.lang.Iterable,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
v.<org.apache.drill.shaded.guava.com.google.common.collect.MinMaxPriorityQueue$QueueIterator: int nextCursor> = v;
label:
return;
}
}