if (settings == null || r.Errors > 0)
return 1;
+ if (cmd.HasBeenStopped)
+ return 0;
+
Driver d = new Driver (new CompilerContext (settings, r));
if (d.Compile () && d.Report.Errors == 0) {
readonly Report report;
readonly TextWriter output;
+ bool stop_argument;
public event Func<string[], int, int> UnknownOptionHandler;
this.output = messagesOutput;
}
+ public bool HasBeenStopped {
+ get {
+ return stop_argument;
+ }
+ }
+
void About ()
{
output.WriteLine (
CompilerSettings settings = new CompilerSettings ();
List<string> response_file_list = null;
bool parsing_options = true;
+ stop_argument = false;
for (int i = 0; i < args.Length; i++) {
string arg = args[i];
case ParseResult.Success:
continue;
case ParseResult.Stop:
- return null;
+ stop_argument = true;
+ return settings;
}
}
return null;
case ParseResult.Stop:
- return null;
+ stop_argument = true;
+ return settings;
}
}