From 251e884f6073524d95ee563f26390e8c7bb1de97 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Sat, 19 Aug 2023 23:48:25 +0300 Subject: [PATCH 1/2] [Performance] Use Length property instead of Count() --- .../Extensions/IEnumerableOfIMethodSymbolExtensions.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs b/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs index 0350e4683c..4435c73692 100644 --- a/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs +++ b/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs @@ -44,7 +44,7 @@ public static IEnumerable GetMethodOverloadsWithDesiredParameterA { return methods.Where(candidateMethod => { - if (!System.Collections.Immutable.ImmutableArrayExtensions.HasExactly(candidateMethod.Parameters, selectedOverload.Parameters.Count() + 1)) + if (!System.Collections.Immutable.ImmutableArrayExtensions.HasExactly(candidateMethod.Parameters, selectedOverload.Parameters.Length + 1)) { return false; } @@ -70,7 +70,7 @@ public static IEnumerable GetMethodOverloadsWithDesiredParameterA } } - for (int i = 0; i < selectedOverload.Parameters.Count(); i++, j++) + for (int i = 0; i < selectedOverload.Parameters.Length; i++, j++) { if (!selectedOverload.Parameters[i].Type.Equals(candidateMethod.Parameters[j].Type) || selectedOverload.Parameters[i].IsParams != candidateMethod.Parameters[j].IsParams || @@ -140,7 +140,7 @@ public static IEnumerable GetMethodOverloadsWithDesiredParameterA var expectedParameterCount = expectedParameterTypesInOrder.Length; return members?.FirstOrDefault(member => { - if (member.Parameters.Count() != expectedParameterCount) + if (member.Parameters.Length != expectedParameterCount) { return false; } From 56aa98c572784e50a13877aaf7c7a39c2bd08242 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Sun, 20 Aug 2023 08:51:39 +0300 Subject: [PATCH 2/2] Remove unused using --- .../Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs b/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs index 4435c73692..f5921bb9f0 100644 --- a/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs +++ b/src/Utilities/Compiler/Extensions/IEnumerableOfIMethodSymbolExtensions.cs @@ -1,7 +1,6 @@ // Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. using System.Collections.Generic; -using System.Collections.Immutable; using System.Linq; using Microsoft.CodeAnalysis;