diff options
author | Alan McGovern <alan.mcgovern@gmail.com> | 2011-11-16 21:47:39 +0400 |
---|---|---|
committer | Alan McGovern <alan.mcgovern@gmail.com> | 2011-11-16 21:47:39 +0400 |
commit | 7daec06f5a711137367146bf97fe54dc088f1895 (patch) | |
tree | 8adcc52d85628e8ab4ec357eeaf491ca1158de1d /main/src/addins/CSharpBinding | |
parent | b183d8c32fd84f065cbe40fe45fc0dbde7ad3b42 (diff) | |
parent | 43b2a5aee73f6bb82bdd3dbb3a439b562eb3d4fd (diff) |
Merge branch 'master' into newresolver
Diffstat (limited to 'main/src/addins/CSharpBinding')
-rw-r--r-- | main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs index f66683c649..564a8f2721 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs @@ -58,7 +58,7 @@ namespace MonoDevelop.CSharp CSharpCompilerParameters compilerParameters = (CSharpCompilerParameters)configuration.CompilationParameters ?? new CSharpCompilerParameters (); CSharpProjectParameters projectParameters = (CSharpProjectParameters)configuration.ProjectParameters ?? new CSharpProjectParameters (); - string outputName = configuration.CompiledOutputName; + FilePath outputName = configuration.CompiledOutputName; string responseFileName = Path.GetTempFileName(); if (File.Exists (outputName)) { @@ -66,6 +66,7 @@ namespace MonoDevelop.CSharp int count = 0; do { try { + outputName.MakeWritable (); using (var stream = File.OpenWrite (outputName)) { isWriteable = true; } @@ -267,11 +268,11 @@ namespace MonoDevelop.CSharp sb.AppendLine (compilerParameters.AdditionalArguments); if (!string.IsNullOrEmpty (compilerParameters.NoWarnings)) - AppendQuoted (sb, "/nowarn:", compilerParameters.NoWarnings);
-
- if (runtime.RuntimeId == "MS.NET") {
- sb.AppendLine("/fullpaths");
- sb.AppendLine("/utf8output");
+ AppendQuoted (sb, "/nowarn:", compilerParameters.NoWarnings); + + if (runtime.RuntimeId == "MS.NET") { + sb.AppendLine("/fullpaths"); + sb.AppendLine("/utf8output"); } string output = ""; @@ -396,8 +397,8 @@ namespace MonoDevelop.CSharp StreamWriter outwr = new StreamWriter (output); StreamWriter errwr = new StreamWriter (error); - ProcessStartInfo pinfo = new ProcessStartInfo (compilerName, compilerArgs);
- pinfo.StandardErrorEncoding = Encoding.UTF8;
+ ProcessStartInfo pinfo = new ProcessStartInfo (compilerName, compilerArgs); + pinfo.StandardErrorEncoding = Encoding.UTF8; pinfo.StandardOutputEncoding = Encoding.UTF8; pinfo.WorkingDirectory = working_dir; @@ -425,7 +426,7 @@ namespace MonoDevelop.CSharp return exitCode; } - // Snatched from our codedom code, with some changes to make it compatible with csc
+ // Snatched from our codedom code, with some changes to make it compatible with csc // (the line+column group is optional is csc) static Regex regexError = new Regex (@"^(\s*(?<file>[^\(]+)(\((?<line>\d*)(,(?<column>\d*[\+]*))?\))?:\s+)*(?<level>\w+)\s+(?<number>..\d+):\s*(?<message>.*)", RegexOptions.Compiled | RegexOptions.ExplicitCapture); static BuildError CreateErrorFromString (string error_string) |