Skip to content

Commit ce9d32b

Browse files
committed
Use GetMethod.Match
1 parent 0d69e61 commit ce9d32b

2 files changed

Lines changed: 4 additions & 21 deletions

File tree

ReflectionAnalyzers/Helpers/Reflection/GetX.cs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,6 @@ internal static bool TryGetConstructorInfo(MemberAccessExpressionSyntax memberAc
2828
return false;
2929
}
3030

31-
internal static bool TryGetMethodInfo(MemberAccessExpressionSyntax memberAccess, SemanticModel semanticModel, CancellationToken cancellationToken, [NotNullWhen(true)] out IMethodSymbol? method)
32-
{
33-
if (TryFindInvocation(memberAccess, KnownSymbol.Type.GetMethod, semanticModel, cancellationToken, out var invocation) &&
34-
TryMatchGetMethod(invocation, semanticModel, cancellationToken, out var member, out _, out _, out _) &&
35-
member is { Match: FilterMatch.Single, Symbol: IMethodSymbol match })
36-
{
37-
method = match;
38-
return true;
39-
}
40-
41-
method = null;
42-
return false;
43-
}
44-
4531
internal static bool TryGetNestedType(ExpressionSyntax expression, SemanticModel semanticModel, CancellationToken cancellationToken, [NotNullWhen(true)] out INamedTypeSymbol? type)
4632
{
4733
if (expression is MemberAccessExpressionSyntax memberAccess &&

ReflectionAnalyzers/Helpers/Reflection/TypeArguments.cs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -142,14 +142,11 @@ private static bool TryGetTypeParameters(InvocationExpressionSyntax invocation,
142142
private static bool TryGetMethodParameters(InvocationExpressionSyntax invocation, SemanticModel semanticModel, CancellationToken cancellationToken, [NotNullWhen(true)] out ISymbol? symbol, out ImmutableArray<ITypeParameterSymbol> parameters)
143143
{
144144
if (IsMakeGeneric(invocation, KnownSymbol.MethodInfo.MakeGenericMethod, semanticModel, cancellationToken) &&
145-
invocation.Expression is MemberAccessExpressionSyntax memberAccess)
145+
GetMethod.Match(invocation.Expression, semanticModel, cancellationToken) is { SingleMatch: { } method })
146146
{
147-
if (GetX.TryGetMethodInfo(memberAccess, semanticModel, cancellationToken, out var method))
148-
{
149-
symbol = method;
150-
parameters = method.TypeParameters;
151-
return true;
152-
}
147+
symbol = method;
148+
parameters = method.TypeParameters;
149+
return true;
153150
}
154151

155152
symbol = null;

0 commit comments

Comments
 (0)