final class com.google.common.graph.DirectedGraphConnections<N, V> implements com.google.common.graph.GraphConnections<N, V>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.graph.DirectedGraphConnections
super_class: java.lang.Object
{
private static final java.lang.Object PRED;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<N, java.lang.Object> adjacentNodeValues;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<TN;Ljava/lang/Object;>;
private final java.util.List<com.google.common.graph.DirectedGraphConnections$NodeConnection<N>> orderedNodeConnections;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private int predecessorCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int successorCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$com$google$common$graph$ElementOrder$Type;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.util.Map<N, java.lang.Object>, java.util.List<com.google.common.graph.DirectedGraphConnections$NodeConnection<N>>, int, );
descriptor: (Ljava/util/Map;Ljava/util/List;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
putfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
2: aload 0
aload 2
putfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
3: aload 0
iload 3
invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
putfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
4: aload 0
iload 4
invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
putfield com.google.common.graph.DirectedGraphConnections.successorCount:I
5: iload 3
aload 1
invokeinterface java.util.Map.size:()I
if_icmpgt 7
6: iload 4
aload 1
invokeinterface java.util.Map.size:()I
if_icmpgt 7
iconst_1
goto 8
StackMap locals: com.google.common.graph.DirectedGraphConnections java.util.Map java.util.List int int
StackMap stack:
7: iconst_0
8: StackMap locals:
StackMap stack: int
invokestatic com.google.common.base.Preconditions.checkState:(Z)V
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 10 1 adjacentNodeValues Ljava/util/Map<TN;Ljava/lang/Object;>;
0 10 2 orderedNodeConnections Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
0 10 3 predecessorCount I
0 10 4 successorCount I
Signature: (Ljava/util/Map<TN;Ljava/lang/Object;>;Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;II)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
adjacentNodeValues
orderedNodeConnections
predecessorCount
successorCount
static <N, V> com.google.common.graph.DirectedGraphConnections<N, V> of(com.google.common.graph.ElementOrder<N>);
descriptor: (Lcom/google/common/graph/ElementOrder;)Lcom/google/common/graph/DirectedGraphConnections;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: iconst_4
istore 1
start local 1 1: invokestatic com.google.common.graph.DirectedGraphConnections.$SWITCH_TABLE$com$google$common$graph$ElementOrder$Type:()[I
aload 0
invokevirtual com.google.common.graph.ElementOrder.type:()Lcom/google/common/graph/ElementOrder$Type;
invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 2
2: 4
default: 6
}
2: StackMap locals: int
StackMap stack:
aconst_null
astore 2
start local 2 3: goto 7
end local 2 4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 5: goto 7
end local 2 6: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
aload 0
invokevirtual com.google.common.graph.ElementOrder.type:()Lcom/google/common/graph/ElementOrder$Type;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 2 7: StackMap locals: java.util.List
StackMap stack:
new com.google.common.graph.DirectedGraphConnections
dup
8: new java.util.HashMap
dup
iload 1
fconst_1
invokespecial java.util.HashMap.<init>:(IF)V
9: aload 2
10: iconst_0
11: iconst_0
12: invokespecial com.google.common.graph.DirectedGraphConnections.<init>:(Ljava/util/Map;Ljava/util/List;II)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 incidentEdgeOrder Lcom/google/common/graph/ElementOrder<TN;>;
1 13 1 initialCapacity I
3 4 2 orderedNodeConnections Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
5 6 2 orderedNodeConnections Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
7 13 2 orderedNodeConnections Ljava/util/List<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/graph/ElementOrder<TN;>;)Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
MethodParameters:
Name Flags
incidentEdgeOrder
static <N, V> com.google.common.graph.DirectedGraphConnections<N, V> ofImmutable(N, java.lang.Iterable<com.google.common.graph.EndpointPair<N>>, com.google.common.base.Function<N, V>);
descriptor: (Ljava/lang/Object;Ljava/lang/Iterable;Lcom/google/common/base/Function;)Lcom/google/common/graph/DirectedGraphConnections;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 3: invokestatic com.google.common.collect.ImmutableList.builder:()Lcom/google/common/collect/ImmutableList$Builder;
4: astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 35
StackMap locals: java.lang.Object java.lang.Iterable com.google.common.base.Function java.util.Map com.google.common.collect.ImmutableList$Builder int int top java.util.Iterator
StackMap stack:
8: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.google.common.graph.EndpointPair
astore 7
start local 7 9: aload 7
invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
aload 7
invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
10: aload 3
aload 0
new com.google.common.graph.DirectedGraphConnections$PredAndSucc
dup
aload 2
aload 0
invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 4
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
dup
aload 0
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
pop
12: aload 4
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
dup
aload 0
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
pop
13: iinc 5 1
14: iinc 6 1
15: goto 35
StackMap locals: java.lang.Object java.lang.Iterable com.google.common.base.Function java.util.Map com.google.common.collect.ImmutableList$Builder int int com.google.common.graph.EndpointPair java.util.Iterator
StackMap stack:
16: aload 7
invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 24
17: aload 7
invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
astore 9
start local 9 18: aload 3
aload 9
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 19: aload 10
ifnull 21
20: aload 3
aload 9
new com.google.common.graph.DirectedGraphConnections$PredAndSucc
dup
aload 10
invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 4
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
dup
aload 9
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
pop
22: iinc 5 1
end local 10 end local 9 23: goto 35
24: StackMap locals:
StackMap stack:
aload 7
invokevirtual com.google.common.graph.EndpointPair.nodeU:()Ljava/lang/Object;
aload 0
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
25: aload 7
invokevirtual com.google.common.graph.EndpointPair.nodeV:()Ljava/lang/Object;
astore 9
start local 9 26: aload 2
aload 9
invokeinterface com.google.common.base.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 27: aload 3
aload 9
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 11
start local 11 28: aload 11
ifnull 33
29: aload 11
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpne 30
iconst_1
goto 31
StackMap locals: java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
32: aload 3
aload 9
new com.google.common.graph.DirectedGraphConnections$PredAndSucc
dup
aload 10
invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: StackMap locals:
StackMap stack:
aload 4
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
dup
aload 9
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
invokevirtual com.google.common.collect.ImmutableList$Builder.add:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
pop
34: iinc 6 1
end local 11 end local 10 end local 9 end local 7 35: StackMap locals: java.lang.Object java.lang.Iterable com.google.common.base.Function java.util.Map com.google.common.collect.ImmutableList$Builder int int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
36: new com.google.common.graph.DirectedGraphConnections
dup
37: aload 3
38: aload 4
invokevirtual com.google.common.collect.ImmutableList$Builder.build:()Lcom/google/common/collect/ImmutableList;
39: iload 5
40: iload 6
41: invokespecial com.google.common.graph.DirectedGraphConnections.<init>:(Ljava/util/Map;Ljava/util/List;II)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 thisNode TN;
0 42 1 incidentEdges Ljava/lang/Iterable<Lcom/google/common/graph/EndpointPair<TN;>;>;
0 42 2 successorNodeToValueFn Lcom/google/common/base/Function<TN;TV;>;
3 42 3 adjacentNodeValues Ljava/util/Map<TN;Ljava/lang/Object;>;
5 42 4 orderedNodeConnectionsBuilder Lcom/google/common/collect/ImmutableList$Builder<Lcom/google/common/graph/DirectedGraphConnections$NodeConnection<TN;>;>;
6 42 5 predecessorCount I
7 42 6 successorCount I
9 35 7 incidentEdge Lcom/google/common/graph/EndpointPair<TN;>;
18 23 9 predecessor TN;
19 23 10 existingValue Ljava/lang/Object;
26 35 9 successor TN;
27 35 10 value TV;
28 35 11 existingValue Ljava/lang/Object;
Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>(TN;Ljava/lang/Iterable<Lcom/google/common/graph/EndpointPair<TN;>;>;Lcom/google/common/base/Function<TN;TV;>;)Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
MethodParameters:
Name Flags
thisNode
incidentEdges
successorNodeToValueFn
public java.util.Set<N> adjacentNodes();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
ifnonnull 2
1: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
new com.google.common.graph.DirectedGraphConnections$1
dup
aload 0
invokespecial com.google.common.graph.DirectedGraphConnections$1.<init>:(Lcom/google/common/graph/DirectedGraphConnections;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
Signature: ()Ljava/util/Set<TN;>;
public java.util.Set<N> predecessors();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.graph.DirectedGraphConnections$2
dup
aload 0
invokespecial com.google.common.graph.DirectedGraphConnections$2.<init>:(Lcom/google/common/graph/DirectedGraphConnections;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
Signature: ()Ljava/util/Set<TN;>;
public java.util.Set<N> successors();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.google.common.graph.DirectedGraphConnections$3
dup
aload 0
invokespecial com.google.common.graph.DirectedGraphConnections$3.<init>:(Lcom/google/common/graph/DirectedGraphConnections;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
Signature: ()Ljava/util/Set<TN;>;
public java.util.Iterator<com.google.common.graph.EndpointPair<N>> incidentEdgeIterator(N);
descriptor: (Ljava/lang/Object;)Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
ifnonnull 11
2: aload 0
invokevirtual com.google.common.graph.DirectedGraphConnections.predecessors:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
3: new com.google.common.graph.DirectedGraphConnections$4
dup
aload 0
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$4.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/lang/Object;)V
4: invokestatic com.google.common.collect.Iterators.transform:(Ljava/util/Iterator;Lcom/google/common/base/Function;)Ljava/util/Iterator;
5: aload 0
invokevirtual com.google.common.graph.DirectedGraphConnections.successors:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
6: new com.google.common.graph.DirectedGraphConnections$5
dup
aload 0
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$5.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/lang/Object;)V
7: invokestatic com.google.common.collect.Iterators.transform:(Ljava/util/Iterator;Lcom/google/common/base/Function;)Ljava/util/Iterator;
8: invokestatic com.google.common.collect.Iterators.concat:(Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/util/Iterator;
9: astore 2
start local 2 10: goto 15
end local 2 11: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
12: new com.google.common.graph.DirectedGraphConnections$6
dup
aload 0
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$6.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/lang/Object;)V
13: invokestatic com.google.common.collect.Iterators.transform:(Ljava/util/Iterator;Lcom/google/common/base/Function;)Ljava/util/Iterator;
14: astore 2
start local 2 15: StackMap locals: java.util.Iterator
StackMap stack:
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 3
start local 3 16: new com.google.common.graph.DirectedGraphConnections$7
dup
aload 0
aload 2
aload 3
invokespecial com.google.common.graph.DirectedGraphConnections$7.<init>:(Lcom/google/common/graph/DirectedGraphConnections;Ljava/util/Iterator;Ljava/util/concurrent/atomic/AtomicBoolean;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 17 1 thisNode TN;
10 11 2 resultWithDoubleSelfLoop Ljava/util/Iterator<Lcom/google/common/graph/EndpointPair<TN;>;>;
15 17 2 resultWithDoubleSelfLoop Ljava/util/Iterator<Lcom/google/common/graph/EndpointPair<TN;>;>;
16 17 3 alreadySeenSelfLoop Ljava/util/concurrent/atomic/AtomicBoolean;
Signature: (TN;)Ljava/util/Iterator<Lcom/google/common/graph/EndpointPair<TN;>;>;
MethodParameters:
Name Flags
thisNode final
public V value();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 2
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpne 4
3: aconst_null
areturn
4: StackMap locals: java.lang.Object
StackMap stack:
aload 2
instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
ifeq 6
5: aload 2
checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 7 1 node TN;
2 7 2 value Ljava/lang/Object;
Signature: (TN;)TV;
MethodParameters:
Name Flags
node
public void removePredecessor();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 2
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpne 6
3: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: iconst_1
istore 3
start local 3 5: goto 11
end local 3 StackMap locals: java.lang.Object
StackMap stack:
6: aload 2
instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
ifeq 10
7: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
aload 2
checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: iconst_1
istore 3
start local 3 9: goto 11
end local 3 10: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 11: StackMap locals: int
StackMap stack:
iload 3
ifeq 15
12: aload 0
dup
getfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
iconst_1
isub
dup_x1
putfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
pop
13: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
ifnull 15
14: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
dup
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 16 1 node TN;
2 16 2 previousValue Ljava/lang/Object;
5 6 3 removedPredecessor Z
9 10 3 removedPredecessor Z
11 16 3 removedPredecessor Z
Signature: (TN;)V
MethodParameters:
Name Flags
node
public V removeSuccessor();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 2
ifnull 3
aload 2
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpne 5
3: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
astore 3
start local 3 4: goto 11
end local 3 StackMap locals:
StackMap stack:
5: aload 2
instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
ifeq 9
6: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: aload 2
checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
astore 3
start local 3 8: goto 11
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 2
astore 3
start local 3 11: StackMap locals: java.lang.Object
StackMap stack:
aload 3
ifnull 15
12: aload 0
dup
getfield com.google.common.graph.DirectedGraphConnections.successorCount:I
iconst_1
isub
dup_x1
putfield com.google.common.graph.DirectedGraphConnections.successorCount:I
invokestatic com.google.common.graph.Graphs.checkNonNegative:(I)I
pop
13: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
ifnull 15
14: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
dup
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 16 1 node Ljava/lang/Object;
2 16 2 previousValue Ljava/lang/Object;
4 5 3 removedValue Ljava/lang/Object;
8 9 3 removedValue Ljava/lang/Object;
11 16 3 removedValue Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
node
public void addPredecessor(N, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: iconst_1
istore 4
start local 4 3: goto 13
end local 4 StackMap locals: java.lang.Object
StackMap stack:
4: aload 3
instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
ifeq 8
5: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: iconst_0
istore 4
start local 4 7: goto 13
end local 4 StackMap locals:
StackMap stack:
8: aload 3
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpeq 12
9: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
new com.google.common.graph.DirectedGraphConnections$PredAndSucc
dup
aload 3
invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: iconst_1
istore 4
start local 4 11: goto 13
end local 4 12: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 13: StackMap locals: int
StackMap stack:
iload 4
ifeq 17
14: aload 0
dup
getfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
iconst_1
iadd
dup_x1
putfield com.google.common.graph.DirectedGraphConnections.predecessorCount:I
invokestatic com.google.common.graph.Graphs.checkPositive:(I)I
pop
15: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
ifnull 17
16: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred
dup
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 18 1 node TN;
0 18 2 unused TV;
1 18 3 previousValue Ljava/lang/Object;
3 4 4 addedPredecessor Z
7 8 4 addedPredecessor Z
11 12 4 addedPredecessor Z
13 18 4 addedPredecessor Z
Signature: (TN;TV;)V
MethodParameters:
Name Flags
node
unused
public V addSuccessor(N, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aconst_null
astore 4
start local 4 3: goto 13
end local 4 StackMap locals: java.lang.Object
StackMap stack:
4: aload 3
instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
ifeq 8
5: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
new com.google.common.graph.DirectedGraphConnections$PredAndSucc
dup
aload 2
invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 3
checkcast com.google.common.graph.DirectedGraphConnections$PredAndSucc
getfield com.google.common.graph.DirectedGraphConnections$PredAndSucc.successorValue:Ljava/lang/Object;
astore 4
start local 4 7: goto 13
end local 4 StackMap locals:
StackMap stack:
8: aload 3
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpne 12
9: aload 0
getfield com.google.common.graph.DirectedGraphConnections.adjacentNodeValues:Ljava/util/Map;
aload 1
new com.google.common.graph.DirectedGraphConnections$PredAndSucc
dup
aload 2
invokespecial com.google.common.graph.DirectedGraphConnections$PredAndSucc.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aconst_null
astore 4
start local 4 11: goto 13
end local 4 12: StackMap locals:
StackMap stack:
aload 3
astore 4
start local 4 13: StackMap locals: java.lang.Object
StackMap stack:
aload 4
ifnonnull 17
14: aload 0
dup
getfield com.google.common.graph.DirectedGraphConnections.successorCount:I
iconst_1
iadd
dup_x1
putfield com.google.common.graph.DirectedGraphConnections.successorCount:I
invokestatic com.google.common.graph.Graphs.checkPositive:(I)I
pop
15: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
ifnull 17
16: aload 0
getfield com.google.common.graph.DirectedGraphConnections.orderedNodeConnections:Ljava/util/List;
new com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ
dup
aload 1
invokespecial com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/google/common/graph/DirectedGraphConnections<TN;TV;>;
0 18 1 node TN;
0 18 2 value TV;
1 18 3 previousValue Ljava/lang/Object;
3 4 4 previousSuccessor Ljava/lang/Object;
7 8 4 previousSuccessor Ljava/lang/Object;
11 12 4 previousSuccessor Ljava/lang/Object;
13 18 4 previousSuccessor Ljava/lang/Object;
Signature: (TN;TV;)TV;
MethodParameters:
Name Flags
node
value
private static boolean isPredecessor(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpeq 1
aload 0
instanceof com.google.common.graph.DirectedGraphConnections$PredAndSucc
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value Ljava/lang/Object;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
value
private static boolean isSuccessor(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic com.google.common.graph.DirectedGraphConnections.PRED:Ljava/lang/Object;
if_acmpeq 1
aload 0
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value Ljava/lang/Object;
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
value
static int[] $SWITCH_TABLE$com$google$common$graph$ElementOrder$Type();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.google.common.graph.DirectedGraphConnections.$SWITCH_TABLE$com$google$common$graph$ElementOrder$Type:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.google.common.graph.ElementOrder$Type.values:()[Lcom/google/common/graph/ElementOrder$Type;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.google.common.graph.ElementOrder$Type.INSERTION:Lcom/google/common/graph/ElementOrder$Type;
invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.google.common.graph.ElementOrder$Type.SORTED:Lcom/google/common/graph/ElementOrder$Type;
invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.google.common.graph.ElementOrder$Type.STABLE:Lcom/google/common/graph/ElementOrder$Type;
invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.google.common.graph.ElementOrder$Type.UNORDERED:Lcom/google/common/graph/ElementOrder$Type;
invokevirtual com.google.common.graph.ElementOrder$Type.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic com.google.common.graph.DirectedGraphConnections.$SWITCH_TABLE$com$google$common$graph$ElementOrder$Type:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
Signature: <N:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Lcom/google/common/graph/GraphConnections<TN;TV;>;
SourceFile: "DirectedGraphConnections.java"
NestMembers:
com.google.common.graph.DirectedGraphConnections$1 com.google.common.graph.DirectedGraphConnections$1$1 com.google.common.graph.DirectedGraphConnections$2 com.google.common.graph.DirectedGraphConnections$2$1 com.google.common.graph.DirectedGraphConnections$2$2 com.google.common.graph.DirectedGraphConnections$3 com.google.common.graph.DirectedGraphConnections$3$1 com.google.common.graph.DirectedGraphConnections$3$2 com.google.common.graph.DirectedGraphConnections$4 com.google.common.graph.DirectedGraphConnections$5 com.google.common.graph.DirectedGraphConnections$6 com.google.common.graph.DirectedGraphConnections$7 com.google.common.graph.DirectedGraphConnections$NodeConnection com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ com.google.common.graph.DirectedGraphConnections$PredAndSucc
InnerClasses:
public final Builder = com.google.common.collect.ImmutableList$Builder of com.google.common.collect.ImmutableList
com.google.common.graph.DirectedGraphConnections$1
com.google.common.graph.DirectedGraphConnections$2
com.google.common.graph.DirectedGraphConnections$3
com.google.common.graph.DirectedGraphConnections$4
com.google.common.graph.DirectedGraphConnections$5
com.google.common.graph.DirectedGraphConnections$6
com.google.common.graph.DirectedGraphConnections$7
private abstract NodeConnection = com.google.common.graph.DirectedGraphConnections$NodeConnection of com.google.common.graph.DirectedGraphConnections
final Pred = com.google.common.graph.DirectedGraphConnections$NodeConnection$Pred of com.google.common.graph.DirectedGraphConnections$NodeConnection
final Succ = com.google.common.graph.DirectedGraphConnections$NodeConnection$Succ of com.google.common.graph.DirectedGraphConnections$NodeConnection
private final PredAndSucc = com.google.common.graph.DirectedGraphConnections$PredAndSucc of com.google.common.graph.DirectedGraphConnections
public final Type = com.google.common.graph.ElementOrder$Type of com.google.common.graph.ElementOrder