C# Class Reko.Arch.X86.X86ProcedureSerializer

Serializes and deserializes procedure signatures.
This code is aware of the different calling convetions on x86 processors. Should your ABI be different, you need to make the Platform that loaded the binary return an object that derives from this class.
Inheritance: Reko.Core.Serialization.ProcedureSerializer
Show file Open project: uxmal/reko Class Usage Examples

Public Methods

Method Description
ApplyConvention ( SerializedSignature ssig, FunctionType sig ) : void
Deserialize ( SerializedSignature ss, Frame frame ) : FunctionType
DeserializeArgument ( Reko.Core.Serialization.Argument_v1 arg, int idx, string convention ) : Identifier

Deserializes an argument.

GetReturnRegister ( Reko.Core.Serialization.Argument_v1 sArg, int bitSize ) : Storage
X86ProcedureSerializer ( IntelArchitecture arch, ISerializedTypeVisitor typeLoader, string defaultCc ) : Reko.Core

Private Methods

Method Description
DeserializeImplicitThisArgument ( SerializedSignature ss ) : Identifier

Method Details

ApplyConvention() public method

public ApplyConvention ( SerializedSignature ssig, FunctionType sig ) : void
ssig SerializedSignature
sig FunctionType
return void

Deserialize() public method

public Deserialize ( SerializedSignature ss, Frame frame ) : FunctionType
ss SerializedSignature
frame Reko.Core.Frame
return FunctionType

DeserializeArgument() public method

Deserializes an argument.
public DeserializeArgument ( Reko.Core.Serialization.Argument_v1 arg, int idx, string convention ) : Identifier
arg Reko.Core.Serialization.Argument_v1
idx int
convention string
return Identifier

GetReturnRegister() public method

public GetReturnRegister ( Reko.Core.Serialization.Argument_v1 sArg, int bitSize ) : Storage
sArg Reko.Core.Serialization.Argument_v1
bitSize int
return Storage

X86ProcedureSerializer() public method

public X86ProcedureSerializer ( IntelArchitecture arch, ISerializedTypeVisitor typeLoader, string defaultCc ) : Reko.Core
arch IntelArchitecture
typeLoader ISerializedTypeVisitor
defaultCc string
return Reko.Core