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
TInstructionThe 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
offsetlongThe offset to check.
Returns
- bool
trueif the offset was traversed,falseotherwise.
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
offsetlongThe 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
offsetlongThe offset.
successorsBufferSpan<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
offsetlongThe offset to check.
Returns
- bool
trueif the offset was a block header,falseotherwise.