public string Save(string path, cfLangType clt, KeelKit.Generators.BaseGengerator.DGetFileNames getfilename) { string result = null; CodeDomProvider provider = BaseGengerator.GetProvider(clt); if (provider != null) { string filename = getfilename(path, provider.FileExtension); IndentedTextWriter tw = new IndentedTextWriter(new StreamWriter(filename, false, Encoding.UTF8), " "); provider.GenerateCodeFromCompileUnit(ccu, tw, new CodeGeneratorOptions()); tw.Close(); result = filename; } return(result); }
public string Save(string path, cfLangType clt, KeelKit.Generators.BaseGengerator.DGetFileNames getfilename) { CodeDomProvider provider = BaseGengerator.GetProvider(clt); string filename = getfilename != null?getfilename(path, provider.FileExtension) : GetFileNames(path, provider.FileExtension); IndentedTextWriter tw = new IndentedTextWriter(new StreamWriter(filename, false, Encoding.UTF8), " "); provider.GenerateCodeFromCompileUnit(ccu, tw, new CodeGeneratorOptions()); tw.Close(); string context = System.IO.File.ReadAllText(filename, Encoding.UTF8); if (!context.Contains("<auto-generated>") && ccu.Namespaces.Count > 0) { ccu.Namespaces[0].Comments.Clear(); ccu.Namespaces[0].Comments.Add(new CodeCommentStatement(BaseGengerator.AddKeelKitInfo())); tw = new IndentedTextWriter(new StreamWriter(filename, false, Encoding.UTF8), " "); provider.GenerateCodeFromCompileUnit(ccu, tw, new CodeGeneratorOptions()); tw.Close(); } return(filename); }