C#: Account for explicit interface implementations in OperatorSymbol

This commit is contained in:
Tom Hvitved
2022-01-31 12:07:54 +01:00
parent d7eeb1fec8
commit 09c5212ccc

View File

@@ -178,6 +178,9 @@ namespace Semmle.Extraction.CSharp.Entities
/// <returns>The converted name.</returns>
private static string OperatorSymbol(Context cx, IMethodSymbol method)
{
if (method.ExplicitInterfaceImplementations.Any())
return OperatorSymbol(cx, method.ExplicitInterfaceImplementations.First());
var methodName = method.Name;
if (!OperatorSymbol(methodName, out var result))
cx.ModelError(method, $"Unhandled operator name in OperatorSymbol(): '{methodName}'");