![JAR search and dependency download from the Maven repository](/logo.png)
com.google.common.graph.Graphs.class Maven / Gradle / Ivy
???? 4? &com/google/common/graph/GraphConstants
+com/google/common/graph/GraphsBridgeMethods ()V
com/google/common/graph/Graph edges ()Ljava/util/Set;
java/util/Set size ()I
isDirected ()Z
nodes
! com/google/common/collect/Maps newHashMapWithExpectedSize (I)Ljava/util/HashMap; # $ % iterator ()Ljava/util/Iterator; ' ( ) * java/util/Iterator hasNext ' , - . next ()Ljava/lang/Object;
0 1 2 3 4 com/google/common/graph/Graphs subgraphHasCycle C(Lcom/google/common/graph/Graph;Ljava/util/Map;Ljava/lang/Object;)Z 6 7 com/google/common/graph/Network 6 9 : allowsParallelEdges 6 6 = > ? asGraph !()Lcom/google/common/graph/Graph;
0 A B C hasCycle "(Lcom/google/common/graph/Graph;)Z E java/util/ArrayDeque
D H 9com/google/common/graph/Graphs$NodeAndRemainingSuccessors
G J K (Ljava/lang/Object;)V M N O P K java/util/Deque addLast M R S isEmpty M U V .
removeLast M X Y . peekLast G [ \ ] node Ljava/lang/Object; G _ ` a remainingSuccessors Ljava/util/Queue; c d e f g
java/util/Map get &(Ljava/lang/Object;)Ljava/lang/Object; i -com/google/common/graph/Graphs$NodeVisitState h k l m COMPLETE /Lcom/google/common/graph/Graphs$NodeVisitState; h o p m PENDING c r s t put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
v w x
successors #(Ljava/lang/Object;)Ljava/util/Set;
D z { (Ljava/util/Collection;)V } R ~ java/util/Queue } ? ? . remove
0 ? ? ? canTraverseWithoutReusingEdge F(Lcom/google/common/graph/Graph;Ljava/lang/Object;Ljava/lang/Object;)Z
? ? ? ? ? com/google/common/base/Objects equal '(Ljava/lang/Object;Ljava/lang/Object;)Z
? ? ? ? ? $com/google/common/graph/GraphBuilder from G(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/GraphBuilder;
? ? ? ? allowsSelfLoops )(Z)Lcom/google/common/graph/GraphBuilder;
? ? ? ? immutable 2()Lcom/google/common/graph/ImmutableGraph$Builder;
0 ? ? ? reachableNodes [(Lcom/google/common/graph/Graph;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
? ? ? $ ? &com/google/common/collect/ImmutableSet 2()Lcom/google/common/collect/UnmodifiableIterator;
? ? ? ? ? .com/google/common/graph/ImmutableGraph$Builder putEdge V(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/graph/ImmutableGraph$Builder; ? java/util/HashSet
? ? ? ? contains (Ljava/lang/Object;)Z ? ? ? addAll (Ljava/util/Collection;)Z
? ? ? ? ? #com/google/common/collect/Iterables limit +(Ljava/lang/Iterable;I)Ljava/lang/Iterable; ? # ? java/lang/Iterable
? ? ? ? build *()Lcom/google/common/graph/ImmutableGraph; ? (Node %s is not an element of this graph.
? ? ? ? ? $com/google/common/base/Preconditions
checkArgument ((ZLjava/lang/String;Ljava/lang/Object;)V
? ? ? ? ? !com/google/common/graph/Traverser forGraph Q(Lcom/google/common/graph/SuccessorsFunction;)Lcom/google/common/graph/Traverser;
? ? ? ? breadthFirst ((Ljava/lang/Object;)Ljava/lang/Iterable;
? ? ? ? copyOf >(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet; ? .com/google/common/graph/Graphs$TransposedGraph
? ? ? ?
access$000 Q(Lcom/google/common/graph/Graphs$TransposedGraph;)Lcom/google/common/graph/Graph;
? ? ? "(Lcom/google/common/graph/Graph;)V ? ? "com/google/common/graph/ValueGraph ? 3com/google/common/graph/Graphs$TransposedValueGraph
? ? ? ?
access$100 [(Lcom/google/common/graph/Graphs$TransposedValueGraph;)Lcom/google/common/graph/ValueGraph;
? ? ? '(Lcom/google/common/graph/ValueGraph;)V ? 0com/google/common/graph/Graphs$TransposedNetwork
? ? ? ?
access$200 U(Lcom/google/common/graph/Graphs$TransposedNetwork;)Lcom/google/common/graph/Network;
? ? ? $(Lcom/google/common/graph/Network;)V
? ? ? ? $com/google/common/graph/EndpointPair isOrdered
? ? ? . target
? ? ? . source
? ordered L(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/graph/EndpointPair; java/util/Collection
?
expectedNodeCount )(I)Lcom/google/common/graph/GraphBuilder;
? ?
(()Lcom/google/common/graph/MutableGraph; ? $com/google/common/graph/MutableGraph addNode ? ?
? )com/google/common/graph/ValueGraphBuilder Q(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraphBuilder;
.(I)Lcom/google/common/graph/ValueGraphBuilder;
? -()Lcom/google/common/graph/MutableValueGraph;"# )com/google/common/graph/MutableValueGraph" ? v ?'() edgeValueOrDefault J(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+,-. g java/util/Objects requireNonNull"01) putEdgeValue
345 ?6 &com/google/common/graph/NetworkBuilder K(Lcom/google/common/graph/Network;)Lcom/google/common/graph/NetworkBuilder;
38 9 +(I)Lcom/google/common/graph/NetworkBuilder;
3; ?< *()Lcom/google/common/graph/MutableNetwork;>? &com/google/common/graph/MutableNetwork> 6BC x outEdges 6EFG
incidentNodes :(Ljava/lang/Object;)Lcom/google/common/graph/EndpointPair;
?IJ g adjacentNode>LMN addEdge 9(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
?PQ . nodeU
?ST . nodeV ? ? 6
3YZ9 expectedEdgeCount\ !Not true that %s is non-negative.
?^ ?_ (ZLjava/lang/String;I)V
?a ?b (ZLjava/lang/String;J)Vd Not true that %s is positive. Code LineNumberTable LocalVariableTable this Lcom/google/common/graph/Graphs; graph Lcom/google/common/graph/Graph; numEdges I visitedNodes Ljava/util/Map; LocalVariableTypeTable TN; $Lcom/google/common/graph/Graph; RLjava/util/Map;
StackMapTable MethodParameters Signature =(Lcom/google/common/graph/Graph;)Z $(Lcom/google/common/graph/Network;)Z network !Lcom/google/common/graph/Network; %Lcom/google/common/graph/Network<**>; ((Lcom/google/common/graph/Network<**>;)Z state nextNode top ;Lcom/google/common/graph/Graphs$NodeAndRemainingSuccessors; prev previousNode startNode stack Ljava/util/Deque; @Lcom/google/common/graph/Graphs$NodeAndRemainingSuccessors; SLjava/util/Deque;>;? java/lang/Object ?(Lcom/google/common/graph/Graph;Ljava/util/Map;TN;)Z "Lcom/google/common/graph/Graph<*>; I(Lcom/google/common/graph/Graph<*>;Ljava/lang/Object;Ljava/lang/Object;)Z "RuntimeVisibleParameterAnnotations Ljavax/annotation/CheckForNull; transitiveClosure I(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/ImmutableGraph;
reachableNode Ljava/util/Set;
pairwiseMatch 0Lcom/google/common/graph/ImmutableGraph$Builder; Ljava/util/Set; 5Lcom/google/common/graph/ImmutableGraph$Builder; i(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/ImmutableGraph; l(Lcom/google/common/graph/Graph;TN;)Lcom/google/common/collect/ImmutableSet; transpose @(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/Graph; `(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/Graph; J(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraph; $Lcom/google/common/graph/ValueGraph; ,Lcom/google/common/graph/ValueGraph; ?(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/ValueGraph; D(Lcom/google/common/graph/Network;)Lcom/google/common/graph/Network; )Lcom/google/common/graph/Network; ~(Lcom/google/common/graph/Network;)Lcom/google/common/graph/Network; N(Lcom/google/common/graph/EndpointPair;)Lcom/google/common/graph/EndpointPair; endpoints &Lcom/google/common/graph/EndpointPair; +Lcom/google/common/graph/EndpointPair; n(Lcom/google/common/graph/EndpointPair;)Lcom/google/common/graph/EndpointPair; inducedSubgraph [(Lcom/google/common/graph/Graph;Ljava/lang/Iterable;)Lcom/google/common/graph/MutableGraph;
successorNode Ljava/lang/Iterable; subgraph &Lcom/google/common/graph/MutableGraph; Ljava/lang/Iterable<+TN;>; +Lcom/google/common/graph/MutableGraph; ?(Lcom/google/common/graph/Graph;Ljava/lang/Iterable<+TN;>;)Lcom/google/common/graph/MutableGraph; e(Lcom/google/common/graph/ValueGraph;Ljava/lang/Iterable;)Lcom/google/common/graph/MutableValueGraph; +Lcom/google/common/graph/MutableValueGraph; 3Lcom/google/common/graph/MutableValueGraph; ?(Lcom/google/common/graph/ValueGraph;Ljava/lang/Iterable<+TN;>;)Lcom/google/common/graph/MutableValueGraph; _(Lcom/google/common/graph/Network;Ljava/lang/Iterable;)Lcom/google/common/graph/MutableNetwork; edge (Lcom/google/common/graph/MutableNetwork; TE; 0Lcom/google/common/graph/MutableNetwork; ?(Lcom/google/common/graph/Network;Ljava/lang/Iterable<+TN;>;)Lcom/google/common/graph/MutableNetwork; G(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/MutableGraph; copy g(Lcom/google/common/graph/Graph;)Lcom/google/common/graph/MutableGraph; Q(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/MutableValueGraph; ?(Lcom/google/common/graph/ValueGraph;)Lcom/google/common/graph/MutableValueGraph; K(Lcom/google/common/graph/Network;)Lcom/google/common/graph/MutableNetwork; endpointPair ?(Lcom/google/common/graph/Network;)Lcom/google/common/graph/MutableNetwork; checkNonNegative (I)I value RuntimeInvisibleAnnotations 8Lcom/google/errorprone/annotations/CanIgnoreReturnValue; (J)J J
checkPositive
SourceFile Graphs.java RuntimeVisibleAnnotations 9Lcom/google/common/graph/ElementTypesAreNonnullByDefault; $Lcom/google/common/annotations/Beta; InnerClasses NodeAndRemainingSuccessors NodeVisitState? &com/google/common/graph/ImmutableGraph Builder TransposedGraph TransposedValueGraph TransposedNetwork 1 0 e / *? ? f 4g hi B C e i*? ? <? ?*? ? *? ? ? ?*? ? ? M*? ? " N-? & ? -? + :*,? /? ????? f 2 @ A B D * E , H - I ; J X K b L d N g Og * X \ ] ijk ]lm ; .no p X \q ijr ; .ns t ? ? c '? u j v w Bx e ? <*? 5 ? ,*? 8 ? #*? ; ? *? < ? ? ? ?*? < ? @? f \
] ^ 0 _ 2 ag <yz p <y{ t 2u y v |
3 4 e | ? DY? FN-? GY,? I? L -? Q ? ?-? T ? G:-? W ? G:-? L ? Z:? ? ? Z:? ^? L+? b ? h:? j?
-? T W???? n? ?+? n? q W? DY*? u ? y? ^? ^? | ? ,? ^? :*? ?? -? GY? I? L ??>-? T W+? j? q W??(? f j k l n p * q 5 r = t D u T v \ w i x q y x z { | ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?g f
i <} m ? ~ ] * ?? 5 ??? D ? \ ] T ?? ] ?jk ?no ?? ] ??? p \ ? ~q * ?? 5 ??? D ? \q T ??q ?jr ?ns ??q ??? t 9 ? M? 6 G G?D?? (? h ? 5?
c? M u
j n ? v ?
? ? e w *? ? ,+? ?? ?? f ? ? ?g jk ~ ] ? ] p j? t u
j ~ ? v ?? ? ?? e ? ?*? ?? ?? ?L*? ? M*? ? " M,? & ? 5,? + N*-? ?? ?:? & ? ? + :+-? ?W????ȧ ?? ?Y? ?M*? ? " N-? & ? |-? + :,? ? ? f*? ?:,? ? W6? " :? & ? ?? + :?? ?? ? : ? & ? ? + :
+
? ?W????????+? ?? f V ? ? ? ? 1 ? N ? V ? Y ? _ ? g ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?g f
N ? ] 1 ( \ ] ? T ]
? 0Q ] ? [ ?? ? O?m ? n \ ] g ?n? ?jk ??? p \ N ?q 1 ( \q ? Tq
? 0Qq ? [ ?? ? n \q g ?n? ?jr ??? t c ? ! ? '? ? '? ? ? '? 8
? '? ' ? #? '? ?
? ' ? u j v ? ? ? e r *? +? ? ?+? ?*? ?+? ϸ Ӱ f
? ?g jk \ ] p jr \q u j \ v ? ?? e y #*? ? *?*? י *? ٰ? ?Y*? ݰ f ? ? ? ? g #jk p #jr t u j v ? ?? e y #*? ? ? *?*? ? *? ? 尻 ?Y*? ? f
g #j? p #j? t u j v ? ?? e y #*? 5 ? *?*? ? *? ? ?Y*? ? f "g #yz p #y? t u y v ? ?? e b *? ?? *? ?*? ?? ?*? f &