final class com.google.common.graph.DirectedMultiNetworkConnections extends com.google.common.graph.AbstractDirectedNetworkConnections
{
private transient java.lang.ref.Reference predecessorsReference;
private transient java.lang.ref.Reference successorsReference;
private void <init>(java.util.Map, java.util.Map, int)
{
java.util.Map v, v;
int v;
com.google.common.graph.DirectedMultiNetworkConnections v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: int;
specialinvoke v.<com.google.common.graph.AbstractDirectedNetworkConnections: void <init>(java.util.Map,java.util.Map,int)>(v, v, v);
return;
}
static com.google.common.graph.DirectedMultiNetworkConnections of()
{
com.google.common.graph.DirectedMultiNetworkConnections v;
java.util.HashMap v, v;
v = new com.google.common.graph.DirectedMultiNetworkConnections;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int,float)>(2, 1.0F);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int,float)>(2, 1.0F);
specialinvoke v.<com.google.common.graph.DirectedMultiNetworkConnections: void <init>(java.util.Map,java.util.Map,int)>(v, v, 0);
return v;
}
static com.google.common.graph.DirectedMultiNetworkConnections ofImmutable(java.util.Map, java.util.Map, int)
{
com.google.common.collect.ImmutableMap v, v;
java.util.Map v, v;
int v;
com.google.common.graph.DirectedMultiNetworkConnections v;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: int;
v = new com.google.common.graph.DirectedMultiNetworkConnections;
v = staticinvoke <com.google.common.collect.ImmutableMap: com.google.common.collect.ImmutableMap copyOf(java.util.Map)>(v);
v = staticinvoke <com.google.common.collect.ImmutableMap: com.google.common.collect.ImmutableMap copyOf(java.util.Map)>(v);
specialinvoke v.<com.google.common.graph.DirectedMultiNetworkConnections: void <init>(java.util.Map,java.util.Map,int)>(v, v, v);
return v;
}
public java.util.Set predecessors()
{
com.google.common.collect.Multiset v;
java.util.Set v, v;
com.google.common.graph.DirectedMultiNetworkConnections v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v = specialinvoke v.<com.google.common.graph.DirectedMultiNetworkConnections: com.google.common.collect.Multiset predecessorsMultiset()>();
v = interfaceinvoke v.<com.google.common.collect.Multiset: java.util.Set elementSet()>();
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
private com.google.common.collect.Multiset predecessorsMultiset()
{
java.lang.ref.Reference v;
java.util.Collection v;
java.util.Map v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v;
java.lang.ref.SoftReference v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference predecessorsReference>;
v = staticinvoke <com.google.common.graph.DirectedMultiNetworkConnections: java.lang.Object getReference(java.lang.ref.Reference)>(v);
if v != null goto label;
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.util.Map inEdgeMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = staticinvoke <com.google.common.collect.HashMultiset: com.google.common.collect.HashMultiset create(java.lang.Iterable)>(v);
v = new java.lang.ref.SoftReference;
specialinvoke v.<java.lang.ref.SoftReference: void <init>(java.lang.Object)>(v);
v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference predecessorsReference> = v;
label:
return v;
}
public java.util.Set successors()
{
com.google.common.collect.Multiset v;
java.util.Set v, v;
com.google.common.graph.DirectedMultiNetworkConnections v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v = specialinvoke v.<com.google.common.graph.DirectedMultiNetworkConnections: com.google.common.collect.Multiset successorsMultiset()>();
v = interfaceinvoke v.<com.google.common.collect.Multiset: java.util.Set elementSet()>();
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
private com.google.common.collect.Multiset successorsMultiset()
{
java.lang.ref.Reference v;
java.util.Collection v;
java.util.Map v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v;
java.lang.ref.SoftReference v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference successorsReference>;
v = staticinvoke <com.google.common.graph.DirectedMultiNetworkConnections: java.lang.Object getReference(java.lang.ref.Reference)>(v);
if v != null goto label;
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.util.Map outEdgeMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = staticinvoke <com.google.common.collect.HashMultiset: com.google.common.collect.HashMultiset create(java.lang.Iterable)>(v);
v = new java.lang.ref.SoftReference;
specialinvoke v.<java.lang.ref.SoftReference: void <init>(java.lang.Object)>(v);
v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference successorsReference> = v;
label:
return v;
}
public java.util.Set edgesConnecting(java.lang.Object)
{
java.util.Map v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v;
com.google.common.graph.DirectedMultiNetworkConnections$1 v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v := @parameter: java.lang.Object;
v = new com.google.common.graph.DirectedMultiNetworkConnections$1;
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.util.Map outEdgeMap>;
specialinvoke v.<com.google.common.graph.DirectedMultiNetworkConnections$1: void <init>(com.google.common.graph.DirectedMultiNetworkConnections,java.util.Map,java.lang.Object,java.lang.Object)>(v, v, v, v);
return v;
}
public java.lang.Object removeInEdge(java.lang.Object, boolean)
{
java.lang.ref.Reference v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v, v, v;
boolean v, v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v = specialinvoke v.<com.google.common.graph.AbstractDirectedNetworkConnections: java.lang.Object removeInEdge(java.lang.Object,boolean)>(v, v);
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference predecessorsReference>;
v = staticinvoke <com.google.common.graph.DirectedMultiNetworkConnections: java.lang.Object getReference(java.lang.ref.Reference)>(v);
if v == null goto label;
v = interfaceinvoke v.<com.google.common.collect.Multiset: boolean remove(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
label:
return v;
}
public java.lang.Object removeOutEdge(java.lang.Object)
{
java.lang.ref.Reference v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v, v, v;
boolean v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v := @parameter: java.lang.Object;
v = specialinvoke v.<com.google.common.graph.AbstractDirectedNetworkConnections: java.lang.Object removeOutEdge(java.lang.Object)>(v);
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference successorsReference>;
v = staticinvoke <com.google.common.graph.DirectedMultiNetworkConnections: java.lang.Object getReference(java.lang.ref.Reference)>(v);
if v == null goto label;
v = interfaceinvoke v.<com.google.common.collect.Multiset: boolean remove(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
label:
return v;
}
public void addInEdge(java.lang.Object, java.lang.Object, boolean)
{
java.lang.ref.Reference v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v, v, v;
boolean v, v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
specialinvoke v.<com.google.common.graph.AbstractDirectedNetworkConnections: void addInEdge(java.lang.Object,java.lang.Object,boolean)>(v, v, v);
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference predecessorsReference>;
v = staticinvoke <com.google.common.graph.DirectedMultiNetworkConnections: java.lang.Object getReference(java.lang.ref.Reference)>(v);
if v == null goto label;
v = interfaceinvoke v.<com.google.common.collect.Multiset: boolean add(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
label:
return;
}
public void addOutEdge(java.lang.Object, java.lang.Object)
{
java.lang.ref.Reference v;
com.google.common.graph.DirectedMultiNetworkConnections v;
java.lang.Object v, v, v;
boolean v;
v := @this: com.google.common.graph.DirectedMultiNetworkConnections;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
specialinvoke v.<com.google.common.graph.AbstractDirectedNetworkConnections: void addOutEdge(java.lang.Object,java.lang.Object)>(v, v);
v = v.<com.google.common.graph.DirectedMultiNetworkConnections: java.lang.ref.Reference successorsReference>;
v = staticinvoke <com.google.common.graph.DirectedMultiNetworkConnections: java.lang.Object getReference(java.lang.ref.Reference)>(v);
if v == null goto label;
v = interfaceinvoke v.<com.google.common.collect.Multiset: boolean add(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean)>(v);
label:
return;
}
private static java.lang.Object getReference(java.lang.ref.Reference)
{
java.lang.ref.Reference v;
java.lang.Object v;
v := @parameter: java.lang.ref.Reference;
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<java.lang.ref.Reference: java.lang.Object get()>();
label:
return v;
}
}