Skip to content

Commit 2892b8b

Browse files
author
Andrew Hall
authored
Gracefully handle span mapping failing (#78520)
2 parents d4aab64 + 7f34740 commit 2892b8b

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/Tools/ExternalAccess/Razor/Features/RazorMappingServiceWrapper.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,15 @@ public async Task<ImmutableArray<MappedSpanResult>> MapSpansAsync(
5353
CancellationToken cancellationToken)
5454
{
5555
var razorSpans = await _razorMappingService.MapSpansAsync(document, spans, cancellationToken).ConfigureAwait(false);
56-
var roslynSpans = new MappedSpanResult[razorSpans.Length];
56+
var roslynSpans = new MappedSpanResult[spans.Count()];
57+
58+
if (roslynSpans.Length != razorSpans.Length)
59+
{
60+
// Span mapping didn't succeed. Razor can log telemetry but this still needs to be handled so return all defaults
61+
// to indicate mapping didn't succeed.
62+
return roslynSpans.ToImmutableArray();
63+
}
64+
5765
for (var i = 0; i < razorSpans.Length; i++)
5866
{
5967
var razorSpan = razorSpans[i];

0 commit comments

Comments
 (0)