final class com.google.common.graph.EndpointPairIterator$Undirected extends com.google.common.graph.EndpointPairIterator
{
private java.util.Set visitedNodes;
private void <init>(com.google.common.graph.BaseGraph)
{
java.util.HashSet v;
com.google.common.graph.BaseGraph v;
com.google.common.graph.EndpointPairIterator$Undirected v;
int v, v;
java.util.Set v;
v := @this: com.google.common.graph.EndpointPairIterator$Undirected;
v := @parameter: com.google.common.graph.BaseGraph;
specialinvoke v.<com.google.common.graph.EndpointPairIterator: void <init>(com.google.common.graph.BaseGraph)>(v);
v = interfaceinvoke v.<com.google.common.graph.BaseGraph: java.util.Set nodes()>();
v = interfaceinvoke v.<java.util.Set: int size()>();
v = v + 1;
v = staticinvoke <com.google.common.collect.Sets: java.util.HashSet newHashSetWithExpectedSize(int)>(v);
v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Set visitedNodes> = v;
return;
}
protected com.google.common.graph.EndpointPair computeNext()
{
java.util.Iterator v, v;
java.util.Set v, v, v;
com.google.common.graph.EndpointPair v;
com.google.common.graph.EndpointPairIterator$Undirected v;
java.lang.Object v, v, v, v, v;
boolean v, v, v;
v := @this: com.google.common.graph.EndpointPairIterator$Undirected;
label:
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Set visitedNodes>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
label:
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Iterator successorIterator>;
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Iterator successorIterator>;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Set visitedNodes>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.lang.Object node>;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v = staticinvoke <com.google.common.graph.EndpointPair: com.google.common.graph.EndpointPair unordered(java.lang.Object,java.lang.Object)>(v, v);
return v;
label:
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Set visitedNodes>;
v = v.<com.google.common.graph.EndpointPairIterator$Undirected: java.lang.Object node>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.graph.EndpointPairIterator$Undirected: boolean advance()>();
if v != 0 goto label;
v.<com.google.common.graph.EndpointPairIterator$Undirected: java.util.Set visitedNodes> = null;
v = virtualinvoke v.<com.google.common.graph.EndpointPairIterator$Undirected: java.lang.Object endOfData()>();
return v;
}
}