Родитель
f080ad72f2
Коммит
71c4382f40
|
@ -57,17 +57,8 @@ namespace Cilsil.Services
|
|||
using (var bar = new ProgressBar())
|
||||
{
|
||||
foreach (var method in Methods)
|
||||
{
|
||||
try
|
||||
{
|
||||
ComputeMethodCfg(method);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.WriteError(e.Message);
|
||||
Log.RecordUnfinishedMethod(method.GetCompatibleFullName(),
|
||||
method.Body.Instructions.Count);
|
||||
}
|
||||
i++;
|
||||
bar.Report((double)i / total);
|
||||
if (WriteConsoleProgress)
|
||||
|
@ -125,6 +116,8 @@ namespace Cilsil.Services
|
|||
var translationUnfinished = false;
|
||||
|
||||
if (!method.IsAbstract && methodBody.Instructions.Count > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
programState.PushInstruction(methodBody.Instructions.First());
|
||||
do
|
||||
|
@ -174,6 +167,15 @@ namespace Cilsil.Services
|
|||
}
|
||||
} while (programState.HasInstruction);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
translationUnfinished = true;
|
||||
Log.WriteWarning(e.Message);
|
||||
Log.RecordUnfinishedMethod(method.GetCompatibleFullName(),
|
||||
method.Body.Instructions.Count);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// We add method to cfg only if its translation is finished. Otherwise, we skip that
|
||||
// method.
|
||||
|
|
Загрузка…
Ссылка в новой задаче