override public 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(delegate() {"); Context.Indent(delegate() { BodyBlock.WriteTo(Context); }); Context.Write("})"); if (!(ElseBlock is DummyParserNode)) { Context.Write(", "); Context.WriteLine("new EmptyDelegate(delegate() {"); ElseBlock.WriteTo(Context); Context.Write("})"); } Context.WriteLine(");"); // Foreach }); Context.WriteLine("});"); // Context.NewScope }
public override void WriteTo(ParserNodeContext Context) { Context.Write("DynamicUtils.Access("); Parent.WriteTo(Context); Context.Write(","); Key.WriteTo(Context); Context.Write(")"); }
public override void WriteTo(ParserNodeContext Context) { Context.Write("Autoescape(Context, "); AutoescapeExpression.WriteTo(Context); Context.WriteLine(", new EmptyDelegate(delegate() {"); Body.WriteTo(Context); Context.WriteLine("}));"); }
override public void WriteTo(ParserNodeContext Context) { Context.Write("DynamicUtils.BinaryOperation_" + DynamicUtils.GetOpName(Operator) + "("); LeftNode.WriteTo(Context); Context.Write(","); RightNode.WriteTo(Context); Context.Write(")"); }
public override void WriteTo(ParserNodeContext Context) { Context.Write("if (DynamicUtils.ConvertToBool("); ConditionNode.WriteTo(Context); Context.Write(")) {"); Context.WriteLine(""); BodyIfNode.WriteTo(Context); Context.Write("}"); if (!(BodyElseNode is DummyParserNode)) { Context.Write(" else {"); BodyElseNode.WriteTo(Context); Context.Write("}"); } Context.WriteLine(""); }
public override void WriteTo(ParserNodeContext Context) { switch (Operator) { case "?": Context.Write("DynamicUtils.ConvertToBool("); ConditionNode.WriteTo(Context); Context.Write(")"); Context.Write("?"); Context.Write("("); TrueNode.WriteTo(Context); Context.Write(")"); Context.Write(":"); Context.Write("("); FalseNode.WriteTo(Context); Context.Write(")"); break; default: throw (new Exception(String.Format("Unknown Operator '{0}'", Operator))); } }