Skip to content

Commit 7b3546b

Browse files
committed
Use pattern matching in SymbolExtensions
1 parent 33d81f1 commit 7b3546b

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

DocumentationAnalyzers/DocumentationAnalyzers/Helpers/SymbolExtensions.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ internal static class SymbolExtensions
1919
/// context of the specified <paramref name="symbol"/>; otherwise, <see langword="false"/>.</returns>
2020
public static bool HasAnyParameter(this ISymbol symbol, string name, StringComparer comparer)
2121
{
22-
if (symbol.Kind == SymbolKind.Method)
22+
if (symbol is IMethodSymbol methodSymbol)
2323
{
24-
var methodSymbol = (IMethodSymbol)symbol;
2524
return methodSymbol.Parameters.Any(parameter => comparer.Equals(parameter.Name, name));
2625
}
2726

@@ -40,18 +39,18 @@ public static bool HasAnyTypeParameter(this ISymbol symbol, string name, StringC
4039
{
4140
for (var currentSymbol = symbol; currentSymbol != null; currentSymbol = currentSymbol.ContainingSymbol)
4241
{
43-
switch (currentSymbol.Kind)
42+
switch (currentSymbol)
4443
{
45-
case SymbolKind.NamedType:
46-
if (((INamedTypeSymbol)currentSymbol).TypeParameters.Any(parameter => comparer.Equals(parameter.Name, name)))
44+
case INamedTypeSymbol namedType:
45+
if (namedType.TypeParameters.Any(parameter => comparer.Equals(parameter.Name, name)))
4746
{
4847
return true;
4948
}
5049

5150
break;
5251

53-
case SymbolKind.Method:
54-
if (((IMethodSymbol)currentSymbol).TypeParameters.Any(parameter => comparer.Equals(parameter.Name, name)))
52+
case IMethodSymbol method:
53+
if (method.TypeParameters.Any(parameter => comparer.Equals(parameter.Name, name)))
5554
{
5655
return true;
5756
}

0 commit comments

Comments
 (0)