public bool MakeActionList(IBfsDataBlock owner, List<string> actionList, IList<IBfsAction> actions)
{
//This loop is terminated when encountering an error statement.
foreach (IBfsAction action in actions)
{
if (action is BfsActionAssignment)
{
BfsActionAssignment assignment = action as BfsActionAssignment;
actionList.Add( owner.Name.ToLower() + "." + assignment.LocalVariable + " = " + CSHelper.MakeExpression(assignment.Expression,owner)+";");
}
else if (action is BfsActionOutput)
{
BfsActionOutput output = action as BfsActionOutput;
if (output.FunctionName == "error")
{
actionList.Add("throw new Exception(" + output.Argument + ");");
return false;
}
else if (output.FunctionName == "warning")
actionList.Add("//WARNING: " + output.Argument);
}
}
return true;
}