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 }
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("Autoescape(Context, "); AutoescapeExpression.WriteTo(Context); Context.WriteLine(", new EmptyDelegate(delegate() {"); Body.WriteTo(Context); Context.WriteLine("}));"); }
public override void WriteTo(ParserNodeContext Context) { Context.Write("Autoescape(Context, "); AutoescapeExpression.WriteTo(Context); Context.WriteLine(", new EmptyDelegate(async delegate() {"); Body.WriteTo(Context); Context.WriteLine("}));"); }
override public void WriteTo(ParserNodeContext Context) { Context.Write(Context._GetContextWriteAutoFilteredMethod() + "("); Parent.WriteTo(Context); Context.Write(");"); Context.WriteLine(""); }
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(""); }
override public 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) { Context.Write("SetAndRenderParentTemplate("); Parent.WriteTo(Context); Context.Write(", Context);"); Context.WriteLine(""); }
override public void WriteTo(ParserNodeContext Context) { Context.Write("Context.OutputWriteAutoFiltered("); Parent.WriteTo(Context); Context.Write(");"); Context.WriteLine(""); }
public override void WriteTo(ParserNodeContext Context) { Context.Write(Context._GetContextWriteAutoFilteredMethod() + "("); Parent.WriteTo(Context); Context.Write(");"); Context.WriteLine(""); }
override public void WriteTo(ParserNodeContext Context) { //Context.Write("await " + ((Func<string, TemplateContext, Task>)TemplateCode.Methods.SetAndRenderParentTemplateAsync).Method.Name + "("); Context.Write("await SetAndRenderParentTemplateAsync("); Parent.WriteTo(Context); Context.Write(", Context);"); Context.WriteLine(""); }
override public void WriteTo(ParserNodeContext Context) { //Context.Write("Context.Output.Write(Context.AutoFilter({0}));", StringUtils.EscapeString(Text)); Context.Write("{0}({1});", Context._GetContextWriteMethod(), StringUtils.EscapeString(Text)); Context.WriteLine(""); }
public override void WriteTo(ParserNodeContext Context) { Context.WriteLine("CallParentBlock({0}, Context);", StringUtils.EscapeString(BlockName)); }
public override void WriteTo(ParserNodeContext Context) { //Context.Write("Context.Output.Write(Context.AutoFilter({0}));", StringUtils.EscapeString(Text)); Context.Write("{0}({1});", Context._GetContextWriteMethod(), StringUtils.EscapeString(Text)); Context.WriteLine(""); }
override public void WriteTo(ParserNodeContext Context) { Context.WriteLine("CallBlock({0}, Context);", StringUtils.EscapeString(this.BlockName)); Context.WriteLine(""); }
override public void WriteTo(ParserNodeContext Context) { Context.WriteLine("await CallBlockAsync({0}, Context);", StringUtils.EscapeString(this.BlockName)); Context.WriteLine(""); }
protected void RenderCodeTo(TextWriter TextWriter) { var TemplateHandler = new TemplateParser(Tokens, TextWriter); var Context = new ParserNodeContext(TextWriter, TemplateFactory); TemplateHandler.Reset(); var ParserNode = TemplateHandler.HandleLevel_Root(); //OptimizedParserNode.Dump(); Context.WriteLine("using System;"); Context.WriteLine("using System.Collections.Generic;"); Context.WriteLine("using System.Threading.Tasks;"); Context.WriteLine("using CSharpUtils.Templates;"); Context.WriteLine("using CSharpUtils.Templates.Runtime;"); Context.WriteLine("using CSharpUtils.Templates.TemplateProvider;"); Context.WriteLine(""); //Context.WriteLine("namespace CSharpUtils.Templates.CompiledTemplates {"); Context.Indent(delegate() { Context.WriteLine("class CompiledTemplate_TempTemplate : TemplateCode {"); Context.Indent(delegate() { Context.WriteLine("public CompiledTemplate_TempTemplate(TemplateFactory TemplateFactory = null) : base(TemplateFactory) { }"); Context.WriteLine(""); Context.WriteLine("public override void SetBlocks(Dictionary<String, RenderDelegate> Blocks) {"); Context.Indent(delegate() { foreach (var BlockPair in TemplateHandler.Blocks) { Context.WriteLine(String.Format("SetBlock(Blocks, {0}, Block_{1});", StringUtils.EscapeString(BlockPair.Key), BlockPair.Key)); } }); Context.WriteLine("}"); Context.WriteLine(""); Context.WriteLine("async protected override Task LocalRenderAsync(TemplateContext Context) {"); Context.Indent(delegate() { ParserNode.OptimizeAndWrite(Context); }); Context.WriteLine("}"); // Method foreach (var BlockPair in TemplateHandler.Blocks) { Context.WriteLine(""); Context.WriteLine("public async Task Block_" + BlockPair.Key + "(TemplateContext Context) {"); Context.Indent(delegate() { BlockPair.Value.OptimizeAndWrite(Context); }); Context.WriteLine("}"); // Method } }); Context.WriteLine("}"); // class }); //Context.WriteLine("}"); // namespace }
override public void WriteTo(ParserNodeContext Context) { //Context.Write("Context.Output.Write(Context.AutoFilter({0}));", StringUtils.EscapeString(Text)); Context.Write("Context.Output.Write({0});", StringUtils.EscapeString(Text)); Context.WriteLine(""); }
override public void WriteTo(ParserNodeContext Context) { Context.WriteLine("CallParentBlock({0}, Context);", StringUtils.EscapeString(BlockName)); }