From 8a7a10c9d334b72d6543adbd5f3848350ee8c306 Mon Sep 17 00:00:00 2001 From: Srivatsn Narayanan Date: Thu, 31 Dec 2015 15:15:23 -0800 Subject: [PATCH] Create DiagnsoticData for External Locations as well. --- src/Workspaces/Core/Portable/Diagnostics/Extensions.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Workspaces/Core/Portable/Diagnostics/Extensions.cs b/src/Workspaces/Core/Portable/Diagnostics/Extensions.cs index 8b1ee538265..70dee2bb2aa 100644 --- a/src/Workspaces/Core/Portable/Diagnostics/Extensions.cs +++ b/src/Workspaces/Core/Portable/Diagnostics/Extensions.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Collections.Immutable; using System.Globalization; +using System.Linq; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.CodeFixes; @@ -57,6 +58,15 @@ public static DiagnosticData ToDiagnosticData(this Diagnostic diagnostic, Projec return DiagnosticData.Create(project.GetDocument(diagnostic.Location.SourceTree), diagnostic); } + if (diagnostic.Location.Kind == LocationKind.ExternalFile) + { + var document = project.Documents.FirstOrDefault(d => d.FilePath == diagnostic.Location.GetLineSpan().Path); + if (document != null) + { + return DiagnosticData.Create(document, diagnostic); + } + } + return DiagnosticData.Create(project, diagnostic); } -- GitLab