未验证 提交 0535a472 编写于 作者: D David Kean 提交者: GitHub

Merge pull request #45638 from davkean/CommandLineArgs

Fix code analysis messages in command-line parser
......@@ -350,12 +350,8 @@ internal static string[] SplitWithDoubledSeparatorEscaping(string str, char sepa
out string? outputFileName,
out string? outputDirectory)
{
outputFileName = null;
outputDirectory = null;
string? invalidPath = null;
string unquoted = RemoveQuotesAndSlashes(value);
ParseAndNormalizeFile(unquoted, baseDirectory, out outputFileName, out outputDirectory, out invalidPath);
ParseAndNormalizeFile(unquoted, baseDirectory, out outputFileName, out outputDirectory, out string? invalidPath);
if (outputFileName == null ||
!MetadataHelpers.IsValidAssemblyOrModuleName(outputFileName))
{
......@@ -370,13 +366,10 @@ internal static string[] SplitWithDoubledSeparatorEscaping(string str, char sepa
IList<Diagnostic> errors,
string? baseDirectory)
{
string? outputFileName = null;
string? outputDirectory = null;
string? pdbPath = null;
string? invalidPath = null;
string unquoted = RemoveQuotesAndSlashes(value);
ParseAndNormalizeFile(unquoted, baseDirectory, out outputFileName, out outputDirectory, out invalidPath);
ParseAndNormalizeFile(unquoted, baseDirectory, out string? outputFileName, out string? outputDirectory, out string? invalidPath);
if (outputFileName == null ||
PathUtilities.ChangeExtension(outputFileName, extension: null).Length == 0)
{
......@@ -398,12 +391,9 @@ internal static string[] SplitWithDoubledSeparatorEscaping(string str, char sepa
string? baseDirectory,
bool generateDiagnostic = true)
{
string? outputFileName = null;
string? outputDirectory = null;
string? genericPath = null;
string? invalidPath = null;
ParseAndNormalizeFile(unquoted, baseDirectory, out outputFileName, out outputDirectory, out invalidPath);
ParseAndNormalizeFile(unquoted, baseDirectory, out string? outputFileName, out string? outputDirectory, out string? invalidPath);
if (string.IsNullOrWhiteSpace(outputFileName))
{
if (generateDiagnostic)
......@@ -559,9 +549,7 @@ internal static string[] SplitWithDoubledSeparatorEscaping(string str, char sepa
var newArgs = new List<string>();
foreach (var arg in args)
{
bool hasValue;
string? value;
if (isClientArgsOption(arg, "keepalive", out hasValue, out value))
if (isClientArgsOption(arg, "keepalive", out bool hasValue, out string? value))
{
if (string.IsNullOrEmpty(value))
{
......@@ -569,8 +557,7 @@ internal static string[] SplitWithDoubledSeparatorEscaping(string str, char sepa
return false;
}
int intValue;
if (int.TryParse(value, out intValue))
if (int.TryParse(value, out int intValue))
{
if (intValue < -1)
{
......@@ -618,7 +605,7 @@ internal static string[] SplitWithDoubledSeparatorEscaping(string str, char sepa
return true;
}
bool isClientArgsOption(string arg, string optionName, out bool hasValue, out string? optionValue)
static bool isClientArgsOption(string arg, string optionName, out bool hasValue, out string? optionValue)
{
hasValue = false;
optionValue = null;
......@@ -660,13 +647,11 @@ internal IEnumerable<string> ParseResponseFile(string fullPath, IList<Diagnostic
try
{
Debug.Assert(PathUtilities.IsAbsolute(fullPath));
using (TextReader reader = CreateTextFileReader(fullPath))
using TextReader reader = CreateTextFileReader(fullPath);
string? str;
while ((str = reader.ReadLine()) != null)
{
string? str;
while ((str = reader.ReadLine()) != null)
{
lines.Add(str);
}
lines.Add(str);
}
}
catch (Exception)
......@@ -1000,9 +985,8 @@ internal IEnumerable<CommandLineSourceFile> ParseRecurseArgument(string arg, str
internal static Encoding? TryParseEncodingName(string arg)
{
long codepage;
if (!string.IsNullOrWhiteSpace(arg)
&& long.TryParse(arg, NumberStyles.None, CultureInfo.InvariantCulture, out codepage)
&& long.TryParse(arg, NumberStyles.None, CultureInfo.InvariantCulture, out long codepage)
&& (codepage > 0))
{
try
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册