class com.google.common.graph.StandardValueGraph extends com.google.common.graph.AbstractValueGraph
{
private final boolean isDirected;
private final boolean allowsSelfLoops;
private final com.google.common.graph.ElementOrder nodeOrder;
final com.google.common.graph.MapIteratorCache nodeConnections;
long edgeCount;
void <init>(com.google.common.graph.AbstractGraphBuilder)
{
com.google.common.graph.ElementOrder v;
java.lang.Integer v;
com.google.common.base.Optional v;
java.util.Map v;
int v;
com.google.common.graph.AbstractGraphBuilder v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: com.google.common.graph.AbstractGraphBuilder;
v = v.<com.google.common.graph.AbstractGraphBuilder: com.google.common.graph.ElementOrder nodeOrder>;
v = v.<com.google.common.graph.AbstractGraphBuilder: com.google.common.base.Optional expectedNodeCount>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(10);
v = virtualinvoke v.<com.google.common.base.Optional: java.lang.Object or(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<com.google.common.graph.ElementOrder: java.util.Map createMap(int)>(v);
specialinvoke v.<com.google.common.graph.StandardValueGraph: void <init>(com.google.common.graph.AbstractGraphBuilder,java.util.Map,long)>(v, v, 0L);
return;
}
void <init>(com.google.common.graph.AbstractGraphBuilder, java.util.Map, long)
{
com.google.common.graph.ElementOrder v, v;
long v, v;
com.google.common.graph.MapRetrievalCache v;
com.google.common.graph.MapIteratorCache v, v;
java.util.Map v;
com.google.common.graph.AbstractGraphBuilder v;
com.google.common.graph.StandardValueGraph v;
boolean v, v, v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: com.google.common.graph.AbstractGraphBuilder;
v := @parameter: java.util.Map;
v := @parameter: long;
specialinvoke v.<com.google.common.graph.AbstractValueGraph: void <init>()>();
v = v.<com.google.common.graph.AbstractGraphBuilder: boolean directed>;
v.<com.google.common.graph.StandardValueGraph: boolean isDirected> = v;
v = v.<com.google.common.graph.AbstractGraphBuilder: boolean allowsSelfLoops>;
v.<com.google.common.graph.StandardValueGraph: boolean allowsSelfLoops> = v;
v = v.<com.google.common.graph.AbstractGraphBuilder: com.google.common.graph.ElementOrder nodeOrder>;
v = virtualinvoke v.<com.google.common.graph.ElementOrder: com.google.common.graph.ElementOrder cast()>();
v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.ElementOrder nodeOrder> = v;
v = v instanceof java.util.TreeMap;
if v == 0 goto label;
v = new com.google.common.graph.MapRetrievalCache;
v = v;
specialinvoke v.<com.google.common.graph.MapRetrievalCache: void <init>(java.util.Map)>(v);
goto label;
label:
v = new com.google.common.graph.MapIteratorCache;
v = v;
specialinvoke v.<com.google.common.graph.MapIteratorCache: void <init>(java.util.Map)>(v);
label:
v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.MapIteratorCache nodeConnections> = v;
v = staticinvoke <com.google.common.graph.Graphs: long checkNonNegative(long)>(v);
v.<com.google.common.graph.StandardValueGraph: long edgeCount> = v;
return;
}
public java.util.Set nodes()
{
java.util.Set v;
com.google.common.graph.StandardValueGraph v;
com.google.common.graph.MapIteratorCache v;
v := @this: com.google.common.graph.StandardValueGraph;
v = v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.MapIteratorCache nodeConnections>;
v = virtualinvoke v.<com.google.common.graph.MapIteratorCache: java.util.Set unmodifiableKeySet()>();
return v;
}
public boolean isDirected()
{
com.google.common.graph.StandardValueGraph v;
boolean v;
v := @this: com.google.common.graph.StandardValueGraph;
v = v.<com.google.common.graph.StandardValueGraph: boolean isDirected>;
return v;
}
public boolean allowsSelfLoops()
{
com.google.common.graph.StandardValueGraph v;
boolean v;
v := @this: com.google.common.graph.StandardValueGraph;
v = v.<com.google.common.graph.StandardValueGraph: boolean allowsSelfLoops>;
return v;
}
public com.google.common.graph.ElementOrder nodeOrder()
{
com.google.common.graph.ElementOrder v;
com.google.common.graph.StandardValueGraph v;
v := @this: com.google.common.graph.StandardValueGraph;
v = v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.ElementOrder nodeOrder>;
return v;
}
public java.util.Set adjacentNodes(java.lang.Object)
{
java.util.Set v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v;
com.google.common.graph.GraphConnections v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.GraphConnections checkedConnections(java.lang.Object)>(v);
v = interfaceinvoke v.<com.google.common.graph.GraphConnections: java.util.Set adjacentNodes()>();
return v;
}
public java.util.Set predecessors(java.lang.Object)
{
java.util.Set v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v;
com.google.common.graph.GraphConnections v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.GraphConnections checkedConnections(java.lang.Object)>(v);
v = interfaceinvoke v.<com.google.common.graph.GraphConnections: java.util.Set predecessors()>();
return v;
}
public java.util.Set successors(java.lang.Object)
{
java.util.Set v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v;
com.google.common.graph.GraphConnections v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.GraphConnections checkedConnections(java.lang.Object)>(v);
v = interfaceinvoke v.<com.google.common.graph.GraphConnections: java.util.Set successors()>();
return v;
}
public java.util.Set incidentEdges(java.lang.Object)
{
com.google.common.graph.StandardValueGraph$1 v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v;
com.google.common.graph.GraphConnections v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.GraphConnections checkedConnections(java.lang.Object)>(v);
v = new com.google.common.graph.StandardValueGraph$1;
specialinvoke v.<com.google.common.graph.StandardValueGraph$1: void <init>(com.google.common.graph.StandardValueGraph,com.google.common.graph.BaseGraph,java.lang.Object,com.google.common.graph.GraphConnections)>(v, v, v, v);
return v;
}
public boolean hasEdgeConnecting(java.lang.Object, java.lang.Object)
{
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v, v, v;
boolean v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: boolean hasEdgeConnectingInternal(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public boolean hasEdgeConnecting(com.google.common.graph.EndpointPair)
{
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v;
com.google.common.graph.EndpointPair v;
boolean v, v, v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: com.google.common.graph.EndpointPair;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.graph.StandardValueGraph: boolean isOrderingCompatible(com.google.common.graph.EndpointPair)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.google.common.graph.EndpointPair: java.lang.Object nodeU()>();
v = virtualinvoke v.<com.google.common.graph.EndpointPair: java.lang.Object nodeV()>();
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: boolean hasEdgeConnectingInternal(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.Object edgeValueOrDefault(java.lang.Object, java.lang.Object, java.lang.Object)
{
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v, v, v, v, v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: java.lang.Object edgeValueOrDefaultInternal(java.lang.Object,java.lang.Object,java.lang.Object)>(v, v, v);
return v;
}
public java.lang.Object edgeValueOrDefault(com.google.common.graph.EndpointPair, java.lang.Object)
{
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v, v, v;
com.google.common.graph.EndpointPair v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: com.google.common.graph.EndpointPair;
v := @parameter: java.lang.Object;
virtualinvoke v.<com.google.common.graph.StandardValueGraph: void validateEndpoints(com.google.common.graph.EndpointPair)>(v);
v = virtualinvoke v.<com.google.common.graph.EndpointPair: java.lang.Object nodeU()>();
v = virtualinvoke v.<com.google.common.graph.EndpointPair: java.lang.Object nodeV()>();
v = specialinvoke v.<com.google.common.graph.StandardValueGraph: java.lang.Object edgeValueOrDefaultInternal(java.lang.Object,java.lang.Object,java.lang.Object)>(v, v, v);
return v;
}
protected long edgeCount()
{
com.google.common.graph.StandardValueGraph v;
long v;
v := @this: com.google.common.graph.StandardValueGraph;
v = v.<com.google.common.graph.StandardValueGraph: long edgeCount>;
return v;
}
private final com.google.common.graph.GraphConnections checkedConnections(java.lang.Object)
{
java.lang.IllegalArgumentException v;
com.google.common.graph.MapIteratorCache v;
int v, v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v = v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.MapIteratorCache nodeConnections>;
v = virtualinvoke v.<com.google.common.graph.MapIteratorCache: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new java.lang.IllegalArgumentException;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = 38 + v;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Node \u is not an element of this graph.");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
final boolean containsNode(java.lang.Object)
{
com.google.common.graph.StandardValueGraph v;
java.lang.Object v;
com.google.common.graph.MapIteratorCache v;
boolean v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v = v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.MapIteratorCache nodeConnections>;
v = virtualinvoke v.<com.google.common.graph.MapIteratorCache: boolean containsKey(java.lang.Object)>(v);
return v;
}
private final boolean hasEdgeConnectingInternal(java.lang.Object, java.lang.Object)
{
java.util.Set v;
com.google.common.graph.MapIteratorCache v;
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v, v;
boolean v, v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.MapIteratorCache nodeConnections>;
v = virtualinvoke v.<com.google.common.graph.MapIteratorCache: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<com.google.common.graph.GraphConnections: java.util.Set successors()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private final java.lang.Object edgeValueOrDefaultInternal(java.lang.Object, java.lang.Object, java.lang.Object)
{
com.google.common.graph.StandardValueGraph v;
java.lang.Object v, v, v, v, v;
com.google.common.graph.MapIteratorCache v;
v := @this: com.google.common.graph.StandardValueGraph;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v.<com.google.common.graph.StandardValueGraph: com.google.common.graph.MapIteratorCache nodeConnections>;
v = virtualinvoke v.<com.google.common.graph.MapIteratorCache: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = null;
goto label;
label:
v = interfaceinvoke v.<com.google.common.graph.GraphConnections: java.lang.Object value(java.lang.Object)>(v);
label:
if v != null goto label;
return v;
label:
return v;
}
}