Table of Contents

Class DependencyCollection

Namespace
Echo.DataFlow.Analysis
Assembly
Echo.DataFlow.dll

Provides members for collecting data dependencies in a data flow graph.

public static class DependencyCollection
Inheritance
DependencyCollection
Inherited Members

Methods

GetOrderedDependencies<TInstruction>(DataFlowNode<TInstruction>)

Collects all dependency nodes recursively, and sorts them in a topological order such that the final collection of nodes can be executed sequentially.

public static IEnumerable<DataFlowNode<TInstruction>> GetOrderedDependencies<TInstruction>(this DataFlowNode<TInstruction> node) where TInstruction : notnull

Parameters

node DataFlowNode<TInstruction>

The node to find all dependencies for.

Returns

IEnumerable<DataFlowNode<TInstruction>>

The topological ordering of all dependencies of the node.

Type Parameters

TInstruction

The type of instructions that each node contains.

Exceptions

CyclicDependencyException

Occurs when there is a cyclic dependency in the graph.

GetOrderedDependencies<TInstruction>(DataFlowNode<TInstruction>, DependencyCollectionFlags)

Collects all dependency nodes recursively, and sorts them in a topological order such that the final collection of nodes can be executed sequentially.

public static IEnumerable<DataFlowNode<TInstruction>> GetOrderedDependencies<TInstruction>(this DataFlowNode<TInstruction> node, DependencyCollectionFlags flags) where TInstruction : notnull

Parameters

node DataFlowNode<TInstruction>

The node to find all dependencies for.

flags DependencyCollectionFlags

Flags that influence the behaviour of the algorithm.

Returns

IEnumerable<DataFlowNode<TInstruction>>

The topological ordering of all dependencies of the node.

Type Parameters

TInstruction

The type of instructions that each node contains.

Exceptions

CyclicDependencyException

Occurs when there is a cyclic dependency in the graph.