Class GraphCycles<N>

java.lang.Object
org.ek9lang.compiler.support.GraphCycles<N>
Type Parameters:
N - the type of a node
All Implemented Interfaces:
BiFunction<Collection<N>, Function<N, ? extends Collection<N>>, List<StronglyConnectedComponents.Component<N>>>

public final class GraphCycles<N> extends Object implements BiFunction<Collection<N>, Function<N, ? extends Collection<N>>, List<StronglyConnectedComponents.Component<N>>>
THE cycles of a directed graph: only the components of StronglyConnectedComponents (THE Tarjan - iterative, successors asked lazily, self-loops kept) that are cycles. Use it wherever a phase needs a graph's cycles, never a private copy.