Class CilStateTransitioner
- Namespace
- Echo.Platforms.AsmResolver
- Assembly
- Echo.Platforms.AsmResolver.dll
Provides an implementation of a state transition resolver for the CIL instruction set.
public class CilStateTransitioner : StateTransitioner<CilInstruction>, IStateTransitioner<CilInstruction>
- Inheritance
-
CilStateTransitioner
- Implements
- Inherited Members
Constructors
CilStateTransitioner(CilArchitecture)
Creates a new instance of the CilStateTransitioner class.
public CilStateTransitioner(CilArchitecture architecture)
Parameters
architectureCilArchitectureThe CIL architecture variant to compute state transitions for.
Methods
GetInitialState(long)
Gets the initial state of the program at a provided entry point address.
public override SymbolicProgramState<CilInstruction> GetInitialState(long entrypointAddress)
Parameters
entrypointAddresslongThe entry point address.
Returns
- SymbolicProgramState<CilInstruction>
The object representing the initial state of the program.
GetTransitions(in SymbolicProgramState<CilInstruction>, in CilInstruction, IList<StateTransition<CilInstruction>>)
Resolves all possible program state transitions that the provided instruction can apply.
public override void GetTransitions(in SymbolicProgramState<CilInstruction> currentState, in CilInstruction instruction, IList<StateTransition<CilInstruction>> transitionsBuffer)
Parameters
currentStateSymbolicProgramState<CilInstruction>The current state of the program.
instructionCilInstructionThe instruction to evaluate.
transitionsBufferIList<StateTransition<CilInstruction>>The output buffer to add the transitions that the instruction might apply.