public bool BreakOnInternalError;
#endregion
+ public List<string> GetResourceStrings;
+
public bool ShowFullPaths;
//
{
bool valid = true;
foreach (string wid in text.Split (numeric_value_separator, StringSplitOptions.RemoveEmptyEntries)) {
+ var warning = wid;
+ if (warning.Length == 6 && warning [0] == 'C' && warning [1] == 'S')
+ warning = warning.Substring (2);
+
int id;
- if (!int.TryParse (wid, NumberStyles.AllowLeadingWhite, CultureInfo.InvariantCulture, out id)) {
- report.Error (1904, "`{0}' is not a valid warning number", wid);
- valid = false;
+ if (!int.TryParse (warning, NumberStyles.AllowLeadingWhite, CultureInfo.InvariantCulture, out id)) {
continue;
}
- if (report.CheckWarningCode (id, Location.Null))
+ if (report.CheckWarningCode (id, Location.Null)) {
action (id);
+ } else {
+ report.Error (1904, "`{0}' is not a valid warning number", wid);
+ valid = false;
+ }
}
return valid;
settings.RuntimeMetadataVersion = value;
return ParseResult.Success;
+ // csc options that we don't support
+ case "/analyzer":
+ case "/appconfig":
+ case "/baseaddress":
+ case "/deterministic":
+ case "/errorendlocation":
+ case "/errorlog":
+ case "/features":
+ case "/highentropyva":
+ case "/highentropyva+":
+ case "/highentropyva-":
+ case "/link":
+ case "/moduleassemblyname":
+ case "/nowin32manifest":
+ case "/pathmap":
+ case "/pdb":
+ case "/preferreduilang":
+ case "/publicsign":
+ case "/reportanalyzer":
+ case "/ruleset":
+ case "/sqmsessionguid":
+ case "/subsystemversion":
+ case "/utf8output":
+ case "/win32manifest":
+ return ParseResult.Success;
+
default:
return ParseResult.UnknownOption;
}
return ParseResult.Success;
default:
- if (arg.StartsWith ("--fatal", StringComparison.Ordinal)){
+ if (arg.StartsWith ("--fatal", StringComparison.Ordinal)) {
int fatal = 1;
if (arg.StartsWith ("--fatal=", StringComparison.Ordinal))
int.TryParse (arg.Substring (8), out fatal);
return ParseResult.Success;
}
+ if (arg.StartsWith ("--getresourcestrings:", StringComparison.Ordinal)) {
+ string file = arg.Substring (21).Trim ();
+ if (file.Length < 1) {
+ Error_RequiresArgument (arg);
+ return ParseResult.Error;
+ }
+
+ if (settings.GetResourceStrings == null)
+ settings.GetResourceStrings = new List<string> ();
+
+ settings.GetResourceStrings.Add (file);
+ return ParseResult.Success;
+ }
+
return ParseResult.UnknownOption;
}
}
" -help Lists all compiler options (short: -?)\n" +
" -keycontainer:NAME The key pair container used to sign the output assembly\n" +
" -keyfile:FILE The key file used to strongname the ouput assembly\n" +
- " -langversion:TEXT Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Future\n" +
+ " -langversion:TEXT Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Experimental\n" +
" -lib:PATH1[,PATHn] Specifies the location of referenced assemblies\n" +
" -main:CLASS Specifies the class with the Main method (short: -m)\n" +
" -noconfig Disables implicitly referenced assemblies\n" +