Skip to content

Commit 0df474d

Browse files
committed
Fixed code analysis issues
1 parent 544a5f8 commit 0df474d

1 file changed

Lines changed: 16 additions & 7 deletions

File tree

src/FunFair.CodeAnalysis/ProhibitedMethodWithStrictParametersInvocationDiagnosticsAnalyzer.cs

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,13 +192,22 @@ in ProhibitedMethodsSpec prohibitedMethod
192192
)
193193
.Where(tuple => tuple.Parameter is not null)
194194
.Select(tuple => (tuple.ParamSpec, Argument: arguments.Arguments[tuple.Parameter!.Ordinal]))
195-
.Any(tuple =>
196-
StringComparer.Ordinal.Equals(tuple.Argument.Expression.ToFullString(), y: tuple.ParamSpec.Value)
197-
&& StringComparer.Ordinal.Equals(
198-
tuple.Argument.Expression.Kind().ToString(),
199-
y: tuple.ParamSpec.Type
200-
)
201-
);
195+
.Any(IsMatchingType);
196+
}
197+
198+
private static bool IsMatchingType((ParameterSpec ParamSpec, ArgumentSyntax Argument) tuple)
199+
{
200+
if (!StringComparer.Ordinal.Equals(tuple.Argument.Expression.ToFullString(), y: tuple.ParamSpec.Value))
201+
{
202+
return false;
203+
}
204+
205+
if (!Enum.TryParse(tuple.ParamSpec.Type, out SyntaxKind type))
206+
{
207+
return false;
208+
}
209+
210+
return tuple.Argument.Expression.IsKind(type);
202211
}
203212
}
204213

0 commit comments

Comments
 (0)