public override void WriteTo(ParserNodeContext Context)
{
//DynamicUtils.CountArray
//Foreach(TemplateContext Context, String VarName, dynamic Expression, Action Iteration, Action Else = null)
Context.WriteLine("Context.NewScope(delegate() {");
Context.Indent(delegate()
{
Context.Write("Foreach(Context, {0}, ", StringUtils.EscapeString(VarName));
Context.Indent(delegate()
{
LoopIterator.WriteTo(Context);
});
Context.Write(", ");
Context.WriteLine("new EmptyDelegate(async delegate() {");
Context.Indent(delegate()
{
BodyBlock.WriteTo(Context);
});
Context.Write("})");
if (!(ElseBlock is DummyParserNode))
{
Context.Write(", ");
Context.WriteLine("new EmptyDelegate(async delegate() {");
ElseBlock.WriteTo(Context);
Context.Write("})");
}
Context.WriteLine(");"); // Foreach
});
Context.WriteLine("});"); // Context.NewScope
}