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 @@ - + - + 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); } }