Table of Contents

Interface IInstructionTraversalResult<TInstruction>

Namespace
Echo.ControlFlow.Construction
Assembly
Echo.ControlFlow.dll

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

public interface IInstructionTraversalResult<TInstruction> : IStaticInstructionProvider<TInstruction> where TInstruction : notnull

Type Parameters

TInstruction

The type of instructions that were traversed.

Inherited Members

Methods

ContainsInstruction(long)

Determines whether an offset was traversed and interpreted as an instruction.

bool ContainsInstruction(long offset)

Parameters

offset long

The offset to check.

Returns

bool

true if the offset was traversed, false otherwise.

GetAllInstructions()

Obtains all instruction records that were collected during the traversal.

IEnumerable<TInstruction> GetAllInstructions()

Returns

IEnumerable<TInstruction>

The instructions and their metadata.

GetSuccessorCount(long)

Obtains the number of successors of an instruction that were found during the traversal.

int GetSuccessorCount(long offset)

Parameters

offset long

The offset of the instruction.

Returns

int

The number of successors.

GetSuccessors(long, Span<SuccessorInfo>)

Obtains the registered successors of an instruction.

int GetSuccessors(long offset, Span<SuccessorInfo> successorsBuffer)

Parameters

offset long

The offset.

successorsBuffer Span<SuccessorInfo>

The buffer to write the successors into.

Returns

int

The number of successors.

IsBlockHeader(long)

Determines whether an offset was marked as a block header during the traversal.

bool IsBlockHeader(long offset)

Parameters

offset long

The offset to check.

Returns

bool

true if the offset was a block header, false otherwise.