public void SaveAs(string filename) { var tmpFile = filename; using (var writer = JWriter.Create(tmpFile, false)) { try { if (CompilerConfig.Current.EnableLogging) { writer.Visiting += node => { Compiler.Log.Debug(String.Format("JsWriter: Visit JsNode: {0}: [{1}, {2}]", filename, writer.CurrentLine, writer.CurrentColumn)); }; } writer.VisitEach(Units); } catch (Exception e) { Compiler.Log.Log(new CompilerLogItem { Type = CompilerLogItemType.Error, ProjectRelativeFilename = tmpFile, Text = e.Message }); throw e; } } }
public string ToJs() { using (var writer = JWriter.CreateInMemory()) { writer.Visit(this); return(writer.GetStringBuilder().ToString()); } }
public static JWriter Create(string filename, bool append) { var innerWriter = new StreamWriter(filename, append); var writer = new JWriter { InnerWriter = new LineWriter(innerWriter) }; return(writer); }
public static JWriter CreateInMemory() { var innerWriter = new StringWriter(); var writer = new JWriter { InnerWriter = new LineWriter(innerWriter) }; return(writer); }