public void CollectTypes() { desc.MeetDataType(program.Globals, factory.CreatePointer( factory.CreateStructureType(), program.Platform.PointerType.Size)); foreach (Procedure p in program.Procedures.Values) { proc = p; CollectProcedureSignature(p); foreach (Statement stm in p.Statements) { stm.Instruction.Accept(this); } } }
public void CollectTypes() { desc.MeetDataType(program.Globals, factory.CreatePointer( factory.CreateStructureType(), program.Platform.PointerType.BitSize)); CollectSegmentTypes(); CollectUserGlobalVariableTypes(); int cProc = program.Procedures.Count; int i = 0; foreach (Procedure p in program.Procedures.Values) { eventListener.ShowProgress("Collecting data types.", i++, cProc); proc = p; CollectProcedureSignature(p); foreach (Statement stm in p.Statements) { if (eventListener.IsCanceled()) { return; } try { this.stmCur = stm; stm.Instruction.Accept(this); } catch (Exception ex) { eventListener.Error( eventListener.CreateStatementNavigator(program, stm), ex, "An error occurred while processing the statement {0}.", stm); } } } }
public void CollectTypes() { desc.MeetDataType(program.Globals, factory.CreatePointer( factory.CreateStructureType(), program.Platform.PointerType.Size)); CollectSegmentTypes(); foreach (Procedure p in program.Procedures.Values) { proc = p; CollectProcedureSignature(p); foreach (Statement stm in p.Statements) { if (eventListener.IsCanceled()) { return; } try { stm.Instruction.Accept(this); } catch (Exception ex) { eventListener.Error( eventListener.CreateStatementNavigator(program, stm), ex, "An error occurred while processing the statement {0}.", stm); } } } }
/// <summary> /// Collect the type of the structure containing the global variables. /// </summary> public void CollectGlobalType() { desc.MeetDataType(program.Globals, factory.CreatePointer( factory.CreateStructureType(), program.Platform.PointerType.BitSize)); }