Skip to content

Commit

Permalink
Merge pull request #45638 from davkean/CommandLineArgs
Browse files Browse the repository at this point in the history
Fix code analysis messages in command-line parser
  • Loading branch information
davkean authored Jul 14, 2020
2 parents ba014d9 + 103f7be commit 0535a47
Showing 1 changed file with 11 additions and 27 deletions.
38 changes: 11 additions & 27 deletions src/Compilers/Core/Portable/CommandLine/CommandLineParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -350,12 +350,8 @@ internal void ParseOutputFile(
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))
{
Expand All @@ -370,13 +366,10 @@ internal void ParseOutputFile(
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)
{
Expand All @@ -398,12 +391,9 @@ internal void ParseOutputFile(
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)
Expand Down Expand Up @@ -559,18 +549,15 @@ internal static bool TryParseClientArgs(
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))
{
errorMessage = CodeAnalysisResources.MissingKeepAlive;
return false;
}

int intValue;
if (int.TryParse(value, out intValue))
if (int.TryParse(value, out int intValue))
{
if (intValue < -1)
{
Expand Down Expand Up @@ -618,7 +605,7 @@ internal static bool TryParseClientArgs(
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;
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 0535a47

Please sign in to comment.