提交 94860731 编写于 作者: C Cyrus Najmabadi

Fix fading locations for unnecessary code.

上级 90273de8
......@@ -76,24 +76,26 @@ protected internal override ImmutableArray<DiagnosticDataLocation> GetLocationsT
&& diagnosticData.Properties.TryGetValue(WellKnownDiagnosticTags.Unnecessary, out var unnecessaryIndices)
&& unnecessaryIndices is object)
{
using var locationsToTagDisposer = PooledObjects.ArrayBuilder<DiagnosticDataLocation>.GetInstance(out var locationsToTag);
using var _ = PooledObjects.ArrayBuilder<DiagnosticDataLocation>.GetInstance(out var locationsToTag);
var additionalLocations = diagnosticData.AdditionalLocations.ToImmutableArray();
var indices = GetLocationIndices(unnecessaryIndices);
locationsToTag.AddRange(indices.Select(i => additionalLocations[i]).ToImmutableArray());
foreach (var index in GetLocationIndices(unnecessaryIndices))
locationsToTag.Add(additionalLocations[index]);
return locationsToTag.ToImmutable();
}
// Default to the base implementation for the diagnostic data
return base.GetLocationsToTag(diagnosticData);
static IEnumerable<int>? GetLocationIndices(string indicesProperty)
static IEnumerable<int> GetLocationIndices(string indicesProperty)
{
try
{
using var stream = new MemoryStream(Encoding.UTF8.GetBytes(indicesProperty));
var serializer = new DataContractJsonSerializer(typeof(IEnumerable<int>));
var result = serializer.ReadObject(stream) as IEnumerable<int>;
return result;
return result ?? Array.Empty<int>();
}
catch (Exception e) when (FatalError.ReportWithoutCrash(e))
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册