input.Close ();
}
- public void Parse (SeekableStreamReader reader, SourceFile sourceFile, ModuleContainer module)
+ public static void Parse (SeekableStreamReader reader, SourceFile sourceFile, ModuleContainer module)
{
var file = new CompilationSourceFile (module, sourceFile);
module.AddTypeContainer (file);
return false;
}
+ if (settings.Platform == Platform.AnyCPU32Preferred && (settings.Target == Target.Library || settings.Target == Target.Module)) {
+ Report.Error (4023, "Platform option `anycpu32bitpreferred' is valid only for executables");
+ return false;
+ }
+
TimeReporter tr = new TimeReporter (settings.Timestamps);
ctx.TimeReporter = tr;
tr.StartTotal ();
output_file = output_file_name;
} else {
output_file_name = Path.GetFileName (output_file);
+
+ if (string.IsNullOrEmpty (Path.GetFileNameWithoutExtension (output_file_name)) ||
+ output_file_name.IndexOfAny (Path.GetInvalidFileNameChars ()) >= 0) {
+ Report.Error (2021, "Output file name is not valid");
+ return false;
+ }
}
#if STATIC
if (!full_flag)
return;
- SymbolWriter.Reset ();
Linq.QueryBlock.TransparentParameter.Reset ();
TypeInfo.Reset ();
}