diff --git a/InterfaceReference.cs b/InterfaceReference.cs
index 4547943..a01c33f 100644
--- a/InterfaceReference.cs
+++ b/InterfaceReference.cs
@@ -30,25 +30,18 @@ CancellationToken cancellationToken
)
{
if ((reference.Node.Parent?.Parent is not InvocationExpressionSyntax invocationExpression) ||
- (reference.Symbol is not INamedTypeSymbol interfaceSymbol))
+ (reference.Symbol is not INamedTypeSymbol interfaceSymbol) ||
+ (reference.SemanticModel.GetOperation(invocationExpression, cancellationToken) is not
+ IInvocationOperation methodInvocation))
{
return null;
}
- var semanticModel = reference.SemanticModel!;
- var methodInvocation = semanticModel
- .GetOperation(invocationExpression, cancellationToken) as IInvocationOperation;
- if (methodInvocation is not null)
- {
- var isInterfaceOrMethodOpenGeneric = !reference.IsSyntaxReferenceClosedTypeOrMethod ||
- methodInvocation.TargetMethod.TypeArguments.Any(static x => x is not INamedTypeSymbol);
- return new InterfaceReference
- (
- interfaceSymbol,
- methodInvocation,
- isInterfaceOrMethodOpenGeneric
- );
- }
- return null;
+ return new InterfaceReference
+ (
+ interfaceSymbol,
+ methodInvocation,
+ !reference.IsSyntaxReferenceClosedTypeOrMethod
+ );
}
public static InterfaceReference? GetReference(IInvocationOperation invocation)
diff --git a/Monkeymoto.NativeGenericDelegates.csproj b/Monkeymoto.NativeGenericDelegates.csproj
index 27d19c4..fb79c52 100644
--- a/Monkeymoto.NativeGenericDelegates.csproj
+++ b/Monkeymoto.NativeGenericDelegates.csproj
@@ -18,7 +18,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
true