
org.eclipse.elk.alg.layered.p2layers.CoffmanGrahamLayerer.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml Show documentation
Show all versions of plantuml Show documentation
PlantUML is a component that allows to quickly write :
* sequence diagram,
* use case diagram,
* class diagram,
* activity diagram,
* component diagram,
* state diagram
* object diagram
???? 7o 9org/eclipse/elk/alg/layered/p2layers/CoffmanGrahamLayerer java/lang/Object %org/eclipse/elk/core/alg/ILayoutPhase nodeMark [Z edgeMark inDeg [I outDeg topoOrd inTopo (Lcom/google/common/collect/ListMultimap; Signature fLcom/google/common/collect/ListMultimap; !BASELINE_PROCESSING_CONFIGURATION 7Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; ?Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; ()V Code
5org/eclipse/elk/core/alg/LayoutProcessorConfiguration create 9()Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; ! )org/eclipse/elk/alg/layered/LayeredPhases " # P1_CYCLE_BREAKING +Lorg/eclipse/elk/alg/layered/LayeredPhases; % ' & Forg/eclipse/elk/alg/layered/intermediate/IntermediateProcessorStrategy ( ) 'EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER HLorg/eclipse/elk/alg/layered/intermediate/IntermediateProcessorStrategy;
+ , - addBefore {(Ljava/lang/Enum;Lorg/eclipse/elk/core/alg/ILayoutProcessorFactory;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; / 0 # P2_LAYERING % 2 3 ) LAYER_CONSTRAINT_PREPROCESSOR 5 6 # P3_NODE_ORDERING % 8 9 ) LAYER_CONSTRAINT_POSTPROCESSOR ; LineNumberTable LocalVariableTable
@ >
B D C +com/google/common/collect/ArrayListMultimap E /()Lcom/google/common/collect/ArrayListMultimap; G this ;Lorg/eclipse/elk/alg/layered/p2layers/CoffmanGrahamLayerer; process \(Lorg/eclipse/elk/alg/layered/graph/LGraph;Lorg/eclipse/elk/core/util/IElkProgressMonitor;)V M Coffman-Graham Layering O Q P -org/eclipse/elk/core/util/IElkProgressMonitor R S begin (Ljava/lang/String;F)Z
U W V (org/eclipse/elk/alg/layered/graph/LGraph X Y getLayerlessNodes ()Ljava/util/List; [ ] \ java/util/List ^ _ isEmpty ()Z O a b done d f e 2org/eclipse/elk/alg/layered/options/LayeredOptions g h #LAYERING_COFFMAN_GRAHAM_LAYER_BOUND ,Lorg/eclipse/elk/graph/properties/IProperty;
U j k l getProperty @(Lorg/eclipse/elk/graph/properties/IProperty;)Ljava/lang/Object; n java/lang/Integer
m p q r intValue ()I [ t u v iterator ()Ljava/util/Iterator; x z y java/util/Iterator { | next ()Ljava/lang/Object; ~ 'org/eclipse/elk/alg/layered/graph/LNode } ? ? ? id I
} ? ? ? getOutgoingEdges ()Ljava/lang/Iterable; ? t ? java/lang/Iterable ? 'org/eclipse/elk/alg/layered/graph/LEdge ? ? x ? ? _ hasNext ? ? ?
? ?
? ? ? &com/google/common/collect/ListMultimap ? clear
? ? ? transitiveReduction -(Lorg/eclipse/elk/alg/layered/graph/LGraph;)V ? java/util/PriorityQueue ? ? ? compare S(Lorg/eclipse/elk/alg/layered/p2layers/CoffmanGrahamLayerer;)Ljava/util/Comparator;
? ? > ? (Ljava/util/Comparator;)V
} ? ? ? getIncomingEdges
? ? ? ? add (Ljava/lang/Object;)Z
? ? ? | poll
? ? ? ? getTarget +()Lorg/eclipse/elk/alg/layered/graph/LPort;
? ? ? 'org/eclipse/elk/alg/layered/graph/LPort ? ? getNode +()Lorg/eclipse/elk/alg/layered/graph/LNode;
m ? ? ? valueOf (I)Ljava/lang/Integer; ? ? ? ? put '(Ljava/lang/Object;Ljava/lang/Object;)Z
? ] ?
? ? ? com/google/common/collect/Lists ? ? newArrayList ()Ljava/util/ArrayList;
? ? ? createLayer e(Lorg/eclipse/elk/alg/layered/graph/LGraph;Ljava/util/List;)Lorg/eclipse/elk/alg/layered/graph/Layer;
? ? ? isLayerFull -(Lorg/eclipse/elk/alg/layered/graph/Layer;I)Z
? ? ? canAdd U(Lorg/eclipse/elk/alg/layered/graph/LNode;Lorg/eclipse/elk/alg/layered/graph/Layer;)Z
} ? ? ? setLayer ,(Lorg/eclipse/elk/alg/layered/graph/Layer;)V
? ? ? ? getSource [ ? ? r size
U ? ? Y getLayers [ ? ? ? get (I)Ljava/lang/Object; ? 'org/eclipse/elk/alg/layered/graph/Layer [ ? [ ? layeredGraph *Lorg/eclipse/elk/alg/layered/graph/LGraph; progressMonitor /Lorg/eclipse/elk/core/util/IElkProgressMonitor; w index edgeIndex n )Lorg/eclipse/elk/alg/layered/graph/LNode; e )Lorg/eclipse/elk/alg/layered/graph/LEdge; sources Ljava/util/PriorityQueue; v i tgt sinks layers Ljava/util/List; currentLayer )Lorg/eclipse/elk/alg/layered/graph/Layer; u src j LocalVariableTypeTable DLjava/util/PriorityQueue; ;Ljava/util/List;
StackMapTable
? Y getNodes layer
} getLayer +()Lorg/eclipse/elk/alg/layered/graph/Layer; l ?(Lorg/eclipse/elk/alg/layered/graph/LGraph;Ljava/util/List;)Lorg/eclipse/elk/alg/layered/graph/Layer;
? > ? graph aLayer compareNodesInTopo U(Lorg/eclipse/elk/alg/layered/graph/LNode;Lorg/eclipse/elk/alg/layered/graph/LNode;)I ? ? $(Ljava/lang/Object;)Ljava/util/List; [!"# listIterator (I)Ljava/util/ListIterator;%'& java/util/ListIterator( | previous
m* ?+ (II)I%-. _ hasPrevious% ? inListU inLsitV itU Ljava/util/ListIterator; itV iu Ljava/lang/Integer; iv %Ljava/util/List; -Ljava/util/ListIterator;
;=< java/util/Arrays>? fill ([ZZ)V
ABC dfs U(Lorg/eclipse/elk/alg/layered/graph/LNode;Lorg/eclipse/elk/alg/layered/graph/LNode;)V start out
transitive getLayoutProcessorConfiguration c(Lorg/eclipse/elk/alg/layered/graph/LGraph;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; ?(Lorg/eclipse/elk/alg/layered/graph/LGraph;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; D(Ljava/lang/Object;Lorg/eclipse/elk/core/util/IElkProgressMonitor;)V
L J K K(Ljava/lang/Object;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration;
OGH lambda$1 n1 n2
SourceFile CoffmanGrahamLayerer.java ?Ljava/lang/Object;Lorg/eclipse/elk/core/alg/ILayoutPhase; BootstrapMethods
XZY "java/lang/invoke/LambdaMetafactory[\ metafactory ?(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;W '(Ljava/lang/Object;Ljava/lang/Object;)I^
a`^
fPe InnerClassesk %java/lang/invoke/MethodHandles$Lookupm java/lang/invoke/MethodHandles Lookup !
^ "? ? ? $? *? .? 1? *? 4? 7? *? :? <