Skip to content

Commit

Permalink
Run code quality analyzers in the coreclr/tools directory (#74825)
Browse files Browse the repository at this point in the history
Run codeanalysis analyzers in the coreclr/tools directory
  • Loading branch information
tlakollo committed Sep 1, 2022
1 parent 7a45201 commit ab2d195
Show file tree
Hide file tree
Showing 714 changed files with 3,115 additions and 3,651 deletions.
2 changes: 1 addition & 1 deletion src/coreclr/tools/Common/CommandLine/ArgumentParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public ArgumentParser(IEnumerable<string> arguments)
public ArgumentParser(IEnumerable<string> arguments, Func<string, IEnumerable<string>> responseFileReader)
{
if (arguments == null)
throw new ArgumentNullException("arguments");
throw new ArgumentNullException(nameof(arguments));

_tokens = ArgumentLexer.Lex(arguments, responseFileReader);
}
Expand Down
33 changes: 16 additions & 17 deletions src/coreclr/tools/Common/CommandLine/ArgumentSyntax.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ internal ArgumentSyntax(IEnumerable<string> arguments)
public static ArgumentSyntax Parse(IEnumerable<string> arguments, Action<ArgumentSyntax> defineAction)
{
if (arguments == null)
throw new ArgumentNullException("arguments");
throw new ArgumentNullException(nameof(arguments));

if (defineAction == null)
throw new ArgumentNullException("defineAction");
throw new ArgumentNullException(nameof(defineAction));

var syntax = new ArgumentSyntax(arguments);
defineAction(syntax);
Expand Down Expand Up @@ -107,12 +107,12 @@ public void ReportError(string message)
public ArgumentCommand<T> DefineCommand<T>(string name, T value)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException(Strings.NameMissing, "name");
throw new ArgumentException(Strings.NameMissing, nameof(name));

if (!IsValidName(name))
{
var message = string.Format(Strings.CommandNameIsNotValidFmt, name);
throw new ArgumentException(message, "name");
throw new ArgumentException(message, nameof(name));
}

if (_commands.Any(c => string.Equals(c.Name, name, StringComparison.Ordinal)))
Expand Down Expand Up @@ -143,7 +143,7 @@ public ArgumentCommand<T> DefineCommand<T>(string name, T value)
public Argument<T> DefineOption<T>(string name, T defaultValue, Func<string, T> valueConverter, bool isRequired)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException(Strings.NameMissing, "name");
throw new ArgumentException(Strings.NameMissing, nameof(name));

if (DefinedParameters.Any())
throw new InvalidOperationException(Strings.OptionsMustBeDefinedBeforeParameters);
Expand Down Expand Up @@ -178,7 +178,7 @@ public Argument<T> DefineOption<T>(string name, T defaultValue, Func<string, T>
public ArgumentList<T> DefineOptionList<T>(string name, IReadOnlyList<T> defaultValue, Func<string, T> valueConverter, bool isRequired)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException(Strings.NameMissing, "name");
throw new ArgumentException(Strings.NameMissing, nameof(name));

if (DefinedParameters.Any())
throw new InvalidOperationException(Strings.OptionsMustBeDefinedBeforeParameters);
Expand Down Expand Up @@ -213,12 +213,12 @@ public ArgumentList<T> DefineOptionList<T>(string name, IReadOnlyList<T> default
public Argument<T> DefineParameter<T>(string name, T defaultValue, Func<string, T> valueConverter)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException(Strings.NameMissing, "name");
throw new ArgumentException(Strings.NameMissing, nameof(name));

if (!IsValidName(name))
{
var message = string.Format(Strings.ParameterNameIsNotValidFmt, name);
throw new ArgumentException(message, "name");
throw new ArgumentException(message, nameof(name));
}

if (DefinedParameters.Any(p => p.IsList))
Expand Down Expand Up @@ -252,12 +252,12 @@ public Argument<T> DefineParameter<T>(string name, T defaultValue, Func<string,
public ArgumentList<T> DefineParameterList<T>(string name, IReadOnlyList<T> defaultValue, Func<string, T> valueConverter)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException(Strings.NameMissing, "name");
throw new ArgumentException(Strings.NameMissing, nameof(name));

if (!IsValidName(name))
{
var message = string.Format(Strings.ParameterNameIsNotValidFmt, name);
throw new ArgumentException(message, "name");
throw new ArgumentException(message, nameof(name));
}

if (DefinedParameters.Any(p => p.IsList))
Expand Down Expand Up @@ -304,7 +304,7 @@ private IEnumerable<string> ParseOptionNameList(string name)
if (!IsValidName(alias))
{
var message = string.Format(Strings.OptionNameIsNotValidFmt, alias);
throw new ArgumentException(message, "name");
throw new ArgumentException(message, nameof(name));
}

foreach (var option in DefinedOptions)
Expand Down Expand Up @@ -358,8 +358,7 @@ private ArgumentParser Parser
{
get
{
if (_parser == null)
_parser = new ArgumentParser(_arguments, ParseResponseFile);
_parser ??= new ArgumentParser(_arguments, ParseResponseFile);

return _parser;
}
Expand Down Expand Up @@ -457,15 +456,15 @@ public string GetHelpText(int maxWidth)

public IReadOnlyList<string> ExtraHelpParagraphs
{
get
{
return _extraHelpParagraphs.ToArray();
}
set
{
_extraHelpParagraphs.Clear();
_extraHelpParagraphs.AddRange(value);
}
get
{
return _extraHelpParagraphs.ToArray();
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Internal.CommandLine
public partial class ArgumentSyntax
{
private static readonly Func<string, string> s_stringParser = v => v;
private static readonly Func<string, bool> s_booleanParser = v => bool.Parse(v);
private static readonly Func<string, bool> s_booleanParser = bool.Parse;
private static readonly Func<string, int> s_int32Parser = v => int.Parse(v, CultureInfo.InvariantCulture);

// Commands
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/tools/Common/CommandLine/ArgumentToken.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,14 @@ private bool Equals(ArgumentToken other)

public override bool Equals(object obj)
{
if (ReferenceEquals(obj, null))
if (obj is null)
return false;

if (ReferenceEquals(obj, this))
return true;

var other = obj as ArgumentToken;
return !ReferenceEquals(other, null) && Equals(other);
return other is not null && Equals(other);
}

public override int GetHashCode()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace Internal.CommandLine
{
internal class CommandLineException : Exception
internal sealed class CommandLineException : Exception
{
public CommandLineException(string message)
: base(message)
Expand Down
6 changes: 3 additions & 3 deletions src/coreclr/tools/Common/CommandLine/CommandLineHelpers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace Internal.CommandLine
//
// Helpers for command line processing
//
internal class Helpers
internal static class Helpers
{
// Helper to create a collection of paths unique in their simple names.
public static void AppendExpandedPaths(Dictionary<string, string> dictionary, string pattern, bool strict)
Expand Down Expand Up @@ -102,7 +102,7 @@ public static void MakeReproPackage(string makeReproPath, string outputFilePath,
}
}

HashCode hashCodeOfArgs = new HashCode();
HashCode hashCodeOfArgs = default(HashCode);
foreach (string s in details)
hashCodeOfArgs.Add(s);

Expand Down Expand Up @@ -143,7 +143,7 @@ public static void MakeReproPackage(string makeReproPath, string outputFilePath,
Dictionary<string, string> dictionary = new Dictionary<string, string>();
foreach (string optInList in (IEnumerable)option.Value)
{
Helpers.AppendExpandedPaths(dictionary, optInList, false);
AppendExpandedPaths(dictionary, optInList, false);
}
foreach (string inputFile in dictionary.Values)
{
Expand Down
8 changes: 4 additions & 4 deletions src/coreclr/tools/Common/CommandLine/HelpTextGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ private static void WriteUsage(this StringBuilder sb, string applicationName, IE
sb.Append(usageHeader);

if (syntaxElements.Any())
sb.Append(@" ");
sb.Append(' ');

var syntaxIndent = usageHeader.Length + 1;
var syntaxMaxWidth = maxWidth - syntaxIndent;
Expand Down Expand Up @@ -169,7 +169,7 @@ private static string GetOptionSyntax(Argument option)
{
var sb = new StringBuilder();

sb.Append(@"[");
sb.Append('[');
sb.Append(option.GetDisplayName());

if (!option.IsFlag)
Expand All @@ -178,7 +178,7 @@ private static string GetOptionSyntax(Argument option)
if (option.IsList)
sb.Append(@"...");

sb.Append(@"]");
sb.Append(']');

return sb.ToString();
}
Expand Down Expand Up @@ -252,7 +252,7 @@ private static IEnumerable<string> WordWrapLines(IEnumerable<string> tokens, int
}

if (sb.Length > 0)
sb.Append(@" ");
sb.Append(' ');

sb.Append(token);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public CodeGenerationFailedException(MethodDesc method)
}

public CodeGenerationFailedException(MethodDesc method, Exception inner)
: base(String.Format(MessageText, method), inner)
: base(string.Format(MessageText, method), inner)
{
Method = method;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace ILCompiler
{
// Validates types to the extent that is required to make sure the compilation won't fail
// in unpredictable spots.
partial class CompilerTypeSystemContext
public partial class CompilerTypeSystemContext
{
/// <summary>
/// Ensures that the type can be fully loaded. The method will throw one of the type system
Expand All @@ -33,7 +33,7 @@ public void EnsureLoadableMethod(MethodDesc method)
}
}

class ValidTypeHashTable : LockFreeReaderHashtable<TypeDesc, TypeDesc>
private sealed class ValidTypeHashTable : LockFreeReaderHashtable<TypeDesc, TypeDesc>
{
protected override bool CompareKeyToValue(TypeDesc key, TypeDesc value) => key == value;
protected override bool CompareValueToValue(TypeDesc value1, TypeDesc value2) => value1 == value2;
Expand Down
28 changes: 11 additions & 17 deletions src/coreclr/tools/Common/Compiler/CompilerTypeSystemContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public partial class CompilerTypeSystemContext : MetadataTypeSystemContext, IMet

private MetadataStringDecoder _metadataStringDecoder;

private class ModuleData
private sealed class ModuleData
{
public string SimpleName;
public string FilePath;
Expand All @@ -30,7 +30,7 @@ private class ModuleData
public MemoryMappedViewAccessor MappedViewAccessor;
}

private class ModuleHashtable : LockFreeReaderHashtable<EcmaModule, ModuleData>
private sealed class ModuleHashtable : LockFreeReaderHashtable<EcmaModule, ModuleData>
{
protected override int GetKeyHashCode(EcmaModule key)
{
Expand All @@ -42,11 +42,11 @@ protected override int GetValueHashCode(ModuleData value)
}
protected override bool CompareKeyToValue(EcmaModule key, ModuleData value)
{
return Object.ReferenceEquals(key, value.Module);
return ReferenceEquals(key, value.Module);
}
protected override bool CompareValueToValue(ModuleData value1, ModuleData value2)
{
return Object.ReferenceEquals(value1.Module, value2.Module);
return ReferenceEquals(value1.Module, value2.Module);
}
protected override ModuleData CreateValueFromKey(EcmaModule key)
{
Expand All @@ -56,9 +56,9 @@ protected override ModuleData CreateValueFromKey(EcmaModule key)
}
private readonly ModuleHashtable _moduleHashtable = new ModuleHashtable();

private class SimpleNameHashtable : LockFreeReaderHashtable<string, ModuleData>
private sealed class SimpleNameHashtable : LockFreeReaderHashtable<string, ModuleData>
{
StringComparer _comparer = StringComparer.OrdinalIgnoreCase;
private StringComparer _comparer = StringComparer.OrdinalIgnoreCase;

protected override int GetKeyHashCode(string key)
{
Expand Down Expand Up @@ -254,10 +254,8 @@ private EcmaModule AddModule(string filePath, string expectedSimpleName, bool us
}
finally
{
if (mappedViewAccessor != null)
mappedViewAccessor.Dispose();
if (pdbReader != null)
pdbReader.Dispose();
mappedViewAccessor?.Dispose();
pdbReader?.Dispose();
}
}

Expand Down Expand Up @@ -314,8 +312,7 @@ protected override TypeDesc ConvertToCanon(TypeDesc typeToConvert, ref Canonical

public MetadataStringDecoder GetMetadataStringDecoder()
{
if (_metadataStringDecoder == null)
_metadataStringDecoder = new CachingMetadataStringDecoder(0x10000); // TODO: Tune the size
_metadataStringDecoder ??= new CachingMetadataStringDecoder(0x10000); // TODO: Tune the size
return _metadataStringDecoder;
}

Expand Down Expand Up @@ -354,11 +351,8 @@ private PdbSymbolReader OpenAssociatedSymbolFile(string peFilePath, PEReader peR

// Try to open the symbol file as portable pdb first
PdbSymbolReader reader = PortablePdbSymbolReader.TryOpen(pdbFileName, GetMetadataStringDecoder(), pdbContentId);
if (reader == null)
{
// Fallback to the diasymreader for non-portable pdbs
reader = UnmanagedPdbSymbolReader.TryOpenSymbolReaderForMetadataFile(peFilePath, Path.GetDirectoryName(pdbFileName));
}
// Fallback to the diasymreader for non-portable pdbs
reader ??= UnmanagedPdbSymbolReader.TryOpenSymbolReaderForMetadataFile(peFilePath, Path.GetDirectoryName(pdbFileName));

return reader;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Diagnostics;
using System.Collections.Generic;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using Internal.TypeSystem;

namespace ILCompiler.DependencyAnalysis
{
/// <summary>
/// Represents a node that contains a set of embedded objects. The main function is
/// Represents a node that contains a set of embedded objects. The main function is
/// to serve as a base class, providing symbol name boundaries and node ordering.
/// </summary>
public abstract class EmbeddedDataContainerNode : ObjectNode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@
using System.Collections.Generic;

using Internal.TypeSystem;
using DependencyListEntry = ILCompiler.DependencyAnalysisFramework.DependencyNodeCore<ILCompiler.DependencyAnalysis.NodeFactory>.DependencyListEntry;

namespace ILCompiler.DependencyAnalysis
{
using DependencyListEntry = DependencyAnalysisFramework.DependencyNodeCore<NodeFactory>.DependencyListEntry;

/// <summary>
/// Represents a node whose dependencies are runtime determined (they depend on the generic context)
/// and which provides means to compute concrete dependencies when given the generic context.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,12 @@ public interface ISymbolDefinitionNode : ISymbolNode
public static class ISymbolNodeExtensions
{
[ThreadStatic]
static Utf8StringBuilder s_cachedUtf8StringBuilder;
private static Utf8StringBuilder s_cachedUtf8StringBuilder;

public static string GetMangledName(this ISymbolNode symbolNode, NameMangler nameMangler)
{
Utf8StringBuilder sb = s_cachedUtf8StringBuilder;
if (sb == null)
sb = new Utf8StringBuilder();
sb ??= new Utf8StringBuilder();

symbolNode.AppendMangledName(nameMangler, sb);
string ret = sb.ToString();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Diagnostics;

using Internal.Text;
Expand Down Expand Up @@ -52,4 +51,3 @@ public override int CompareToImpl(ISortableNode other, CompilerComparer comparer
#endif
}
}

Loading

0 comments on commit ab2d195

Please sign in to comment.