C# Класс Reko.Core.ProcessorState

ProcessorState simulates the state of the processor and a part of the stack during scanning.
Наследование: EvaluationContext
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
Clone ( ) : ProcessorState
GetDefiningExpression ( Identifier id ) : Expression
GetRegister ( RegisterStorage r ) : Constant
GetValue ( Application appl ) : Expression
GetValue ( Identifier id ) : Expression
GetValue ( MemoryAccess access ) : Expression
GetValue ( RegisterStorage reg ) : Expression
GetValue ( SegmentedAccess access ) : Expression
IsUsedInPhi ( Identifier id ) : bool
MakeSegmentedAddress ( Constant seg, Constant off ) : Expression
OnAfterCall ( FunctionType sigCallee ) : void

Perform any adjustments to the processor's state after returning from a procedure call with the specified signature.

OnBeforeCall ( Identifier stackReg, int returnAddressSize ) : CallSite

Captures the the processor's state before calling a procedure.

OnProcedureEntered ( ) : void
OnProcedureLeft ( FunctionType procedureSignature ) : void
ProcessorState ( ) : Reko.Core.Code
ProcessorState ( ProcessorState orig ) : Reko.Core.Code
RemoveExpressionUse ( Expression expr ) : void
RemoveIdentifierUse ( Identifier id ) : void
SetInstructionPointer ( Address addr ) : void
SetRegister ( RegisterStorage r, Constant v ) : void
SetValue ( RegisterStorage reg, Expression value ) : Constant
SetValue ( Identifier id, Expression value ) : void
SetValueEa ( Expression ea, Expression value ) : void
SetValueEa ( Expression basePtr, Expression ea, Expression value ) : void
UseExpression ( Expression expr ) : void

Приватные методы

Метод Описание
GetStackOffset ( Expression ea, int &offset ) : bool
IsStackRegister ( Expression ea ) : bool

Описание методов

Clone() публичный абстрактный Метод

public abstract Clone ( ) : ProcessorState
Результат ProcessorState

GetDefiningExpression() публичный Метод

public GetDefiningExpression ( Identifier id ) : Expression
id Identifier
Результат Expression

GetRegister() публичный абстрактный Метод

public abstract GetRegister ( RegisterStorage r ) : Constant
r RegisterStorage
Результат Constant

GetValue() публичный Метод

public GetValue ( Application appl ) : Expression
appl Application
Результат Expression

GetValue() публичный Метод

public GetValue ( Identifier id ) : Expression
id Identifier
Результат Expression

GetValue() публичный Метод

public GetValue ( MemoryAccess access ) : Expression
access MemoryAccess
Результат Expression

GetValue() публичный Метод

public GetValue ( RegisterStorage reg ) : Expression
reg RegisterStorage
Результат Expression

GetValue() публичный Метод

public GetValue ( SegmentedAccess access ) : Expression
access SegmentedAccess
Результат Expression

IsUsedInPhi() публичный Метод

public IsUsedInPhi ( Identifier id ) : bool
id Identifier
Результат bool

MakeSegmentedAddress() публичный Метод

public MakeSegmentedAddress ( Constant seg, Constant off ) : Expression
seg Constant
off Constant
Результат Expression

OnAfterCall() публичный абстрактный Метод

Perform any adjustments to the processor's state after returning from a procedure call with the specified signature.
public abstract OnAfterCall ( FunctionType sigCallee ) : void
sigCallee FunctionType The signature of the called procedure.
Результат void

OnBeforeCall() публичный абстрактный Метод

Captures the the processor's state before calling a procedure.
public abstract OnBeforeCall ( Identifier stackReg, int returnAddressSize ) : CallSite
stackReg Identifier An identifier for the stack register of the processor.
returnAddressSize int The size of the return address on stack.
Результат CallSite

OnProcedureEntered() публичный абстрактный Метод

public abstract OnProcedureEntered ( ) : void
Результат void

OnProcedureLeft() публичный абстрактный Метод

public abstract OnProcedureLeft ( FunctionType procedureSignature ) : void
procedureSignature FunctionType
Результат void

ProcessorState() публичный Метод

public ProcessorState ( ) : Reko.Core.Code
Результат Reko.Core.Code

ProcessorState() публичный Метод

public ProcessorState ( ProcessorState orig ) : Reko.Core.Code
orig ProcessorState
Результат Reko.Core.Code

RemoveExpressionUse() публичный Метод

public RemoveExpressionUse ( Expression expr ) : void
expr Expression
Результат void

RemoveIdentifierUse() публичный Метод

public RemoveIdentifierUse ( Identifier id ) : void
id Identifier
Результат void

SetInstructionPointer() публичный абстрактный Метод

public abstract SetInstructionPointer ( Address addr ) : void
addr Address
Результат void

SetRegister() публичный абстрактный Метод

public abstract SetRegister ( RegisterStorage r, Constant v ) : void
r RegisterStorage
v Constant
Результат void

SetValue() публичный Метод

public SetValue ( RegisterStorage reg, Expression value ) : Constant
reg RegisterStorage
value Expression
Результат Constant

SetValue() публичный Метод

public SetValue ( Identifier id, Expression value ) : void
id Identifier
value Expression
Результат void

SetValueEa() публичный Метод

public SetValueEa ( Expression ea, Expression value ) : void
ea Expression
value Expression
Результат void

SetValueEa() публичный Метод

public SetValueEa ( Expression basePtr, Expression ea, Expression value ) : void
basePtr Expression
ea Expression
value Expression
Результат void

UseExpression() публичный Метод

public UseExpression ( Expression expr ) : void
expr Expression
Результат void