Skip to content

Commit

Permalink
Improve performance of some rules
Browse files Browse the repository at this point in the history
  • Loading branch information
meziantou committed Feb 24, 2024
1 parent d947560 commit 78170a9
Show file tree
Hide file tree
Showing 11 changed files with 448 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\LocationExtensions.cs" LinkBase="Internals" />
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\MethodSymbolExtensions.cs" LinkBase="Internals" />
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\NamespaceSymbolExtensions.cs" LinkBase="Internals" />
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\ObjectPool.cs" LinkBase="Internals" />
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\OperationExtensions.cs" LinkBase="Internals" />
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\SyntaxTokenListExtensions.cs" LinkBase="Internals" />
<Compile Include="$(MSBuildThisFileDirectory)\..\Meziantou.Analyzer\Internals\StringExtensions.cs" LinkBase="Internals" />
Expand Down
10 changes: 4 additions & 6 deletions src/Meziantou.Analyzer.CodeFixers/Rules/NamedParameterFixer.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.Immutable;
using System.Composition;
using System.Threading;
using System.Threading.Tasks;
Expand Down Expand Up @@ -49,12 +48,11 @@ private static async Task<Document> AddParameterName(Document document, SyntaxNo
if (argument is null || argument.NameColon is not null)
return document;

var parameters = FindParameters(semanticModel, argument, cancellationToken);
if (parameters is null)
if (FindParameters(semanticModel, argument, cancellationToken) is not { } parameters)
return document;

var index = NamedParameterAnalyzerCommon.ArgumentIndex(argument);
if (index < 0 || index >= parameters.Count)
if (index < 0 || index >= parameters.Length)
return document;

var parameter = parameters[index];
Expand All @@ -64,7 +62,7 @@ private static async Task<Document> AddParameterName(Document document, SyntaxNo
return editor.GetChangedDocument();
}

private static IReadOnlyList<IParameterSymbol>? FindParameters(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken)
private static ImmutableArray<IParameterSymbol>? FindParameters(SemanticModel semanticModel, SyntaxNode? node, CancellationToken cancellationToken)
{
while (node is not null)
{
Expand Down
1 change: 0 additions & 1 deletion src/Meziantou.Analyzer/Internals/EnumerableExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using Microsoft.CodeAnalysis.CSharp.Syntax;

namespace Meziantou.Analyzer;

Expand Down
Loading

0 comments on commit 78170a9

Please sign in to comment.