예제 #1
0
파일: Program.cs 프로젝트: wxdtony/PSharp
        public bool Execute()
        {
            if (InputFiles == null)
            {
                // Target was included but no .psharp files are present in the project. Skip
                // execution.
                return(true);
            }

            for (int i = 0; i < InputFiles.Length; i++)
            {
                var    inp    = File.ReadAllText(InputFiles[i].ItemSpec);
                string errors = "";
                var    outp   = SyntaxRewriter.Translate(inp, out errors, this.csVersion);
                if (outp != null)
                {
                    // Tagging the generated .cs files with the "<auto-generated>" tag so as to avoid StyleCop build errors.
                    outp = "//  <auto-generated />\n" + outp;
                    File.WriteAllText(OutputFiles[i].ItemSpec, outp);
                }
                else
                {
                    // Replaces Program.psharp with the actual file name.
                    errors = errors.Replace("Program.psharp", System.IO.Path.GetFileName(InputFiles[i].ItemSpec));

                    // Prints a compiler error with log.
                    File.WriteAllText(OutputFiles[i].ItemSpec,
                                      string.Format("#error Psharp Compiler Error {0} /* {0} {1} {0} */ ", "\n", errors));
                }
            }

            return(true);
        }
예제 #2
0
파일: Program.cs 프로젝트: rekoder/PSharp
        public bool Execute()
        {
            for (int i = 0; i < InputFiles.Length; i++)
            {
                var    inp = System.IO.File.ReadAllText(InputFiles[i].ItemSpec);
                string errors;
                var    outp = SyntaxRewriter.Translate(inp, out errors);
                if (outp != null)
                {
                    System.IO.File.WriteAllText(OutputFiles[i].ItemSpec, outp);
                }
                else
                {
                    // replace Program.psharp with the actual file name
                    errors = errors.Replace("Program.psharp", System.IO.Path.GetFileName(InputFiles[i].ItemSpec));
                    // print a compiler error with log
                    System.IO.File.WriteAllText(OutputFiles[i].ItemSpec,
                                                string.Format("#error Psharp Compiler Error {0} /* {0} {1} {0} */ ", "\n", errors));
                }
            }

            return(true);
        }