コード例 #1
0
ファイル: JFile.cs プロジェクト: wangchengqun/Cs2Java
        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;
                }
            }
        }
コード例 #2
0
ファイル: JModel.cs プロジェクト: wangchengqun/Cs2Java
 public string ToJs()
 {
     using (var writer = JWriter.CreateInMemory())
     {
         writer.Visit(this);
         return(writer.GetStringBuilder().ToString());
     }
 }
コード例 #3
0
ファイル: JWriter.cs プロジェクト: wangchengqun/Cs2Java
        public static JWriter Create(string filename, bool append)
        {
            var innerWriter = new StreamWriter(filename, append);
            var writer      = new JWriter {
                InnerWriter = new LineWriter(innerWriter)
            };

            return(writer);
        }
コード例 #4
0
ファイル: JWriter.cs プロジェクト: wangchengqun/Cs2Java
        public static JWriter CreateInMemory()
        {
            var innerWriter = new StringWriter();
            var writer      = new JWriter {
                InnerWriter = new LineWriter(innerWriter)
            };

            return(writer);
        }