public void StructureProgram()
{
foreach (var program in project.Programs)
{
int i = 0;
foreach (Procedure proc in program.Procedures.Values)
{
if (eventListener.IsCanceled())
return;
try
{
eventListener.ShowProgress("Rewriting procedures to high-level language.", i, program.Procedures.Values.Count);
++i;
IStructureAnalysis sa = new StructureAnalysis(eventListener, program, proc);
sa.Structure();
}
catch (Exception e)
{
eventListener.Error(
eventListener.CreateProcedureNavigator(program, proc),
e,
"An error occurred while rewriting procedure to high-level language.");
}
}
WriteDecompilerProducts();
}
eventListener.ShowStatus("Rewriting complete.");
}