in ClrHeapAllocationsAnalyzer/CallSiteImplicitAllocationAnalyzer.cs [69:81]
private static void CheckNonOverridenMethodOnStruct(IMethodSymbol methodInfo, Action<Diagnostic> reportDiagnostic, SyntaxNode node, string filePath)
{
if (methodInfo.ContainingType != null)
{
// hack? Hmmm.
var containingType = methodInfo.ContainingType.ToString();
if (string.Equals(containingType, "System.ValueType", StringComparison.OrdinalIgnoreCase) || string.Equals(containingType, "System.Enum", StringComparison.OrdinalIgnoreCase))
{
reportDiagnostic(Diagnostic.Create(ValueTypeNonOverridenCallRule, node.GetLocation(), EmptyMessageArgs));
HeapAllocationAnalyzerEventSource.Logger.NonOverridenVirtualMethodCallOnValueType(filePath);
}
}
}