Example #1
0
 public TrapCloseTextWriter(OutputFile file, Stream stream)
     : base(stream)
 {
     this.file = file;
 }
Example #2
0
        private static void GenerateFile(string fileName, string templateName, IDictionary<string, object> options, string[] optionNames)
        {
            try {
                string file = Path.Combine(Options.getOutputDirectory().FullName, fileName);
                OutputFile outputFile = new OutputFile(file, typeof(CSharpFiles).Assembly.GetName().Version.ToString(), optionNames);

                if (!outputFile.needToWrite) {
                    return;
                }

                TextWriter ostr = outputFile.GetTextWriter();

                bool nsFound = false;
                if (CSharpCCGlobals.cu_to_insertion_point_1.Count != 0 &&
                    CSharpCCGlobals.cu_to_insertion_point_1[0].kind == CSharpCCParserConstants.NAMESPACE) {
                    for (int i = 1; i < CSharpCCGlobals.cu_to_insertion_point_1.Count; i++) {
                        if (CSharpCCGlobals.cu_to_insertion_point_1[i].kind == CSharpCCParserConstants.SEMICOLON) {
                            CSharpCCGlobals.cline = CSharpCCGlobals.cu_to_insertion_point_1[0].beginLine;
                            CSharpCCGlobals.ccol = CSharpCCGlobals.cu_to_insertion_point_1[0].beginColumn;
                            for (int j = 0; j <= i - 1; j++) {
                                CSharpCCGlobals.PrintToken(CSharpCCGlobals.cu_to_insertion_point_1[j], ostr);
                            }

                            nsFound = true;
                            ostr.WriteLine("{");
                            ostr.WriteLine();
                            ostr.WriteLine();
                            break;
                        }
                    }
                }

                CSharpFileGenetor generator = new CSharpFileGenetor(templateName, options);
                generator.Generate(ostr);

                if (nsFound)
                    ostr.WriteLine("}");

                ostr.Close();
            } catch (IOException e) {
                Console.Error.WriteLine("Failed to create  " + fileName + ": " + e.Message);
                CSharpCCErrors.SemanticError("Could not open file " + fileName + " for writing.");
                throw new InvalidOperationException();
            }
        }
Example #3
0
 public TrapCloseTextWriter(OutputFile file, Stream stream)
     : base(stream)
 {
     this.file = file;
 }