Table of Contents

Namespace Echo.ControlFlow.Construction

Classes

FlowGraphBuilderExtensions

Provides extensions to control flow graph builder implementations.

FlowGraphBuilder<TInstruction>

Provides a base for control flow graph builders that depend on a single traversal of the instructions.

InstructionTraversalResult<TInstruction>

Provides a default implementation of the IInstructionTraversalResult<TInstruction> interface, using a dictionary and a set to store the instructions and block header offsets.

StaticFlowGraphBuilder<TInstruction>

Provides an implementation of a control flow graph builder that traverses the instructions in a recursive manner, and determines for each instruction the successors by looking at the general flow control of each instruction.

Structs

SuccessorInfo

Represents a reference to an instruction that is the successor of another instruction.

Interfaces

IFlowGraphBuilder<TInstruction>

Provides members for building a control flow graph, starting at a specific entrypoint address.

IInstructionTraversalResult<TInstruction>

Provides members for describing a traversal of a collection of instructions.

IStaticSuccessorResolver<TInstruction>

Provides members for resolving the static successors of a single instruction. That is, resolve any successor that is encoded within an instruction either explicitly or implicitly.