From 544a5f8eea8cebb805897806208afed027ed4424 Mon Sep 17 00:00:00 2001 From: Mark Ridgwell Date: Fri, 14 Nov 2025 14:49:04 +0000 Subject: [PATCH 1/2] [Dependencies] Updating Meziantou.Analyzer (Code Analysis) to 2.0.253 --- CHANGELOG.md | 1 + .../FunFair.CodeAnalysis.Tests.csproj | 6 +++--- src/FunFair.CodeAnalysis/FunFair.CodeAnalysis.csproj | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9b0c4c4..50d92596 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ Please ADD ALL Changes to the UNRELEASED SECTION and not a specific release ### Added ### Fixed ### Changed +- Dependencies - Updated Meziantou.Analyzer to 2.0.253 ### Removed ### Deployment Changes diff --git a/src/FunFair.CodeAnalysis.Tests/FunFair.CodeAnalysis.Tests.csproj b/src/FunFair.CodeAnalysis.Tests/FunFair.CodeAnalysis.Tests.csproj index 0bcae0ad..483e3201 100644 --- a/src/FunFair.CodeAnalysis.Tests/FunFair.CodeAnalysis.Tests.csproj +++ b/src/FunFair.CodeAnalysis.Tests/FunFair.CodeAnalysis.Tests.csproj @@ -53,7 +53,7 @@ - + @@ -61,11 +61,11 @@ - + - + diff --git a/src/FunFair.CodeAnalysis/FunFair.CodeAnalysis.csproj b/src/FunFair.CodeAnalysis/FunFair.CodeAnalysis.csproj index 344c0616..3fa3706c 100644 --- a/src/FunFair.CodeAnalysis/FunFair.CodeAnalysis.csproj +++ b/src/FunFair.CodeAnalysis/FunFair.CodeAnalysis.csproj @@ -66,10 +66,10 @@ - + - + From 0df474df40fafc064f522bf6972ea7862df8ecdb Mon Sep 17 00:00:00 2001 From: Mark Ridgwell Date: Thu, 20 Nov 2025 10:52:31 +0000 Subject: [PATCH 2/2] Fixed code analysis issues --- ...ParametersInvocationDiagnosticsAnalyzer.cs | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/FunFair.CodeAnalysis/ProhibitedMethodWithStrictParametersInvocationDiagnosticsAnalyzer.cs b/src/FunFair.CodeAnalysis/ProhibitedMethodWithStrictParametersInvocationDiagnosticsAnalyzer.cs index 9be3849b..f21bac55 100644 --- a/src/FunFair.CodeAnalysis/ProhibitedMethodWithStrictParametersInvocationDiagnosticsAnalyzer.cs +++ b/src/FunFair.CodeAnalysis/ProhibitedMethodWithStrictParametersInvocationDiagnosticsAnalyzer.cs @@ -192,13 +192,22 @@ in ProhibitedMethodsSpec prohibitedMethod ) .Where(tuple => tuple.Parameter is not null) .Select(tuple => (tuple.ParamSpec, Argument: arguments.Arguments[tuple.Parameter!.Ordinal])) - .Any(tuple => - StringComparer.Ordinal.Equals(tuple.Argument.Expression.ToFullString(), y: tuple.ParamSpec.Value) - && StringComparer.Ordinal.Equals( - tuple.Argument.Expression.Kind().ToString(), - y: tuple.ParamSpec.Type - ) - ); + .Any(IsMatchingType); + } + + private static bool IsMatchingType((ParameterSpec ParamSpec, ArgumentSyntax Argument) tuple) + { + if (!StringComparer.Ordinal.Equals(tuple.Argument.Expression.ToFullString(), y: tuple.ParamSpec.Value)) + { + return false; + } + + if (!Enum.TryParse(tuple.ParamSpec.Type, out SyntaxKind type)) + { + return false; + } + + return tuple.Argument.Expression.IsKind(type); } }