class com.google.common.collect.ConcurrentHashMultiset$3 extends com.google.common.collect.ForwardingIterator
{
private com.google.common.collect.Multiset$Entry last;
final java.util.Iterator val$readOnlyIterator;
final com.google.common.collect.ConcurrentHashMultiset this$0;
void <init>(com.google.common.collect.ConcurrentHashMultiset, java.util.Iterator)
{
com.google.common.collect.ConcurrentHashMultiset v;
java.util.Iterator v;
com.google.common.collect.ConcurrentHashMultiset$3 v;
v := @this: com.google.common.collect.ConcurrentHashMultiset$3;
v := @parameter: com.google.common.collect.ConcurrentHashMultiset;
v := @parameter: java.util.Iterator;
v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.ConcurrentHashMultiset this$0> = v;
v.<com.google.common.collect.ConcurrentHashMultiset$3: java.util.Iterator val$readOnlyIterator> = v;
specialinvoke v.<com.google.common.collect.ForwardingIterator: void <init>()>();
return;
}
protected java.util.Iterator delegate()
{
java.util.Iterator v;
com.google.common.collect.ConcurrentHashMultiset$3 v;
v := @this: com.google.common.collect.ConcurrentHashMultiset$3;
v = v.<com.google.common.collect.ConcurrentHashMultiset$3: java.util.Iterator val$readOnlyIterator>;
return v;
}
public com.google.common.collect.Multiset$Entry next()
{
java.lang.Object v;
com.google.common.collect.Multiset$Entry v;
com.google.common.collect.ConcurrentHashMultiset$3 v;
v := @this: com.google.common.collect.ConcurrentHashMultiset$3;
v = specialinvoke v.<com.google.common.collect.ForwardingIterator: java.lang.Object next()>();
v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.Multiset$Entry last> = v;
v = v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.Multiset$Entry last>;
return v;
}
public void remove()
{
com.google.common.collect.ConcurrentHashMultiset v;
com.google.common.collect.ConcurrentHashMultiset$3 v;
java.lang.Object v;
com.google.common.collect.Multiset$Entry v, v;
boolean v;
v := @this: com.google.common.collect.ConcurrentHashMultiset$3;
v = v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.Multiset$Entry last>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "no calls to next() since the last call to remove()");
v = v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.ConcurrentHashMultiset this$0>;
v = v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.Multiset$Entry last>;
v = interfaceinvoke v.<com.google.common.collect.Multiset$Entry: java.lang.Object getElement()>();
virtualinvoke v.<com.google.common.collect.ConcurrentHashMultiset: int setCount(java.lang.Object,int)>(v, 0);
v.<com.google.common.collect.ConcurrentHashMultiset$3: com.google.common.collect.Multiset$Entry last> = null;
return;
}
}