in ClrHeapAllocationsAnalyzer/DisplayClassAllocationAnalyzer.cs [57:76]
private static void ClosureCaptureDataFlowAnalysis(DataFlowAnalysis flow, Action<Diagnostic> reportDiagnostic, Location location)
{
if (flow?.Captured.Length <= 0)
{
return;
}
foreach (var capture in flow.Captured)
{
if (capture.Name != null && capture.Locations != null)
{
foreach (var l in capture.Locations)
{
reportDiagnostic(Diagnostic.Create(ClosureCaptureRule, l, EmptyMessageArgs));
}
}
}
reportDiagnostic(Diagnostic.Create(ClosureDriverRule, location, new[] { string.Join(",", flow.Captured.Select(x => x.Name)) }));
}