public void Run(CompilerContext context)
{
foreach (ICompilerStep step in _steps)
{
context.TraceEnter("Entering {0}...", step);
step.Initialize(context);
try
{
step.Run();
}
catch (Boo.Lang.Compiler.Error error)
{
context.Errors.Add(error);
}
catch (Exception x)
{
context.Errors.StepExecution(step, x);
}
context.TraceLeave("Left {0}.", step);
}
foreach (ICompilerStep step in _steps)
{
step.Dispose();
}
}