[Fixes #324] Diagnostics middleware no longer has a way to expand the source for compilation errors

This commit is contained in:
Kiran Challa 2016-08-03 15:34:09 -07:00
parent d43f9387a6
commit ac8f751771
2 changed files with 88 additions and 63 deletions

View File

@ -91,13 +91,16 @@ using Microsoft.AspNetCore.Diagnostics
#line hidden #line hidden
#line 29 "CompilationErrorPage.cshtml" #line 29 "CompilationErrorPage.cshtml"
int tabIndex = 6;
var stackFrameCount = 0;
var frameId = "";
#line default #line default
#line hidden #line hidden
WriteLiteral(" "); WriteLiteral(" ");
#line 30 "CompilationErrorPage.cshtml" #line 33 "CompilationErrorPage.cshtml"
var fileName = errorDetail.StackFrames.FirstOrDefault()?.File; var fileName = errorDetail.StackFrames.FirstOrDefault()?.File;
if (!string.IsNullOrEmpty(fileName)) if (!string.IsNullOrEmpty(fileName))
@ -107,13 +110,13 @@ using Microsoft.AspNetCore.Diagnostics
#line hidden #line hidden
WriteLiteral(" <div class=\"titleerror\">"); WriteLiteral(" <div class=\"titleerror\">");
#line 34 "CompilationErrorPage.cshtml" #line 37 "CompilationErrorPage.cshtml"
Write(fileName); Write(fileName);
#line default #line default
#line hidden #line hidden
WriteLiteral("</div>\r\n"); WriteLiteral("</div>\r\n");
#line 35 "CompilationErrorPage.cshtml" #line 38 "CompilationErrorPage.cshtml"
} }
@ -121,7 +124,7 @@ using Microsoft.AspNetCore.Diagnostics
#line hidden #line hidden
WriteLiteral(" "); WriteLiteral(" ");
#line 37 "CompilationErrorPage.cshtml" #line 40 "CompilationErrorPage.cshtml"
if (!string.IsNullOrEmpty(errorDetail.ErrorMessage)) if (!string.IsNullOrEmpty(errorDetail.ErrorMessage))
{ {
@ -129,55 +132,64 @@ using Microsoft.AspNetCore.Diagnostics
#line hidden #line hidden
WriteLiteral(" <div class=\"details\">"); WriteLiteral(" <div class=\"details\">");
#line 39 "CompilationErrorPage.cshtml" #line 42 "CompilationErrorPage.cshtml"
Write(errorDetail.ErrorMessage); Write(errorDetail.ErrorMessage);
#line default #line default
#line hidden #line hidden
WriteLiteral("</div>\r\n"); WriteLiteral("</div>\r\n");
#line 40 "CompilationErrorPage.cshtml" #line 43 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" <br />\r\n <ul>\r\n"); WriteLiteral(" <br />\r\n <ul>\r\n");
#line 43 "CompilationErrorPage.cshtml" #line 46 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 43 "CompilationErrorPage.cshtml" #line 46 "CompilationErrorPage.cshtml"
foreach (var frame in errorDetail.StackFrames) foreach (var frame in errorDetail.StackFrames)
{ {
#line default
#line hidden
#line 48 "CompilationErrorPage.cshtml"
stackFrameCount++;
frameId = "frame" + stackFrameCount;
#line default
#line hidden
#line 51 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
WriteLiteral(" <li class=\"frame\""); WriteLiteral(" <li class=\"frame\"");
BeginWriteAttribute("tabindex", " tabindex=\"", 1456, "\"", 1476, 1); BeginWriteAttribute("id", " id=\"", 1694, "\"", 1707, 1);
#line 45 "CompilationErrorPage.cshtml" #line 52 "CompilationErrorPage.cshtml"
WriteAttributeValue("", 1467, tabIndex, 1467, 9, false); WriteAttributeValue("", 1699, frameId, 1699, 8, false);
#line default #line default
#line hidden #line hidden
EndWriteAttribute(); EndWriteAttribute();
WriteLiteral(">\r\n"); WriteLiteral(">\r\n");
#line 46 "CompilationErrorPage.cshtml" #line 53 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 46 "CompilationErrorPage.cshtml" #line 53 "CompilationErrorPage.cshtml"
tabIndex++;
#line default
#line hidden
WriteLiteral(" ");
#line 47 "CompilationErrorPage.cshtml"
if (!string.IsNullOrEmpty(frame.ErrorDetails)) if (!string.IsNullOrEmpty(frame.ErrorDetails))
{ {
@ -185,40 +197,46 @@ WriteAttributeValue("", 1467, tabIndex, 1467, 9, false);
#line hidden #line hidden
WriteLiteral(" <h3>"); WriteLiteral(" <h3>");
#line 49 "CompilationErrorPage.cshtml" #line 55 "CompilationErrorPage.cshtml"
Write(frame.ErrorDetails); Write(frame.ErrorDetails);
#line default #line default
#line hidden #line hidden
WriteLiteral("</h3>\r\n"); WriteLiteral("</h3>\r\n");
#line 50 "CompilationErrorPage.cshtml" #line 56 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral("\r\n"); WriteLiteral("\r\n");
#line 52 "CompilationErrorPage.cshtml" #line 58 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 52 "CompilationErrorPage.cshtml" #line 58 "CompilationErrorPage.cshtml"
if (frame.Line != 0 && frame.ContextCode.Any()) if (frame.Line != 0 && frame.ContextCode.Any())
{ {
#line default #line default
#line hidden #line hidden
WriteLiteral(" <div class=\"source\">\r\n"); WriteLiteral(" <button class=\"expandCollapseButton\" data-frameId=\"");
#line 55 "CompilationErrorPage.cshtml" #line 60 "CompilationErrorPage.cshtml"
Write(frameId);
#line default
#line hidden
WriteLiteral("\">+</button>\r\n <div class=\"source\">\r\n");
#line 62 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 55 "CompilationErrorPage.cshtml" #line 62 "CompilationErrorPage.cshtml"
if (frame.PreContextCode.Any()) if (frame.PreContextCode.Any())
{ {
@ -226,21 +244,21 @@ WriteAttributeValue("", 1467, tabIndex, 1467, 9, false);
#line hidden #line hidden
WriteLiteral(" <ol"); WriteLiteral(" <ol");
BeginWriteAttribute("start", " start=\"", 2000, "\"", 2029, 1); BeginWriteAttribute("start", " start=\"", 2290, "\"", 2319, 1);
#line 57 "CompilationErrorPage.cshtml" #line 64 "CompilationErrorPage.cshtml"
WriteAttributeValue("", 2008, frame.PreContextLine, 2008, 21, false); WriteAttributeValue("", 2298, frame.PreContextLine, 2298, 21, false);
#line default #line default
#line hidden #line hidden
EndWriteAttribute(); EndWriteAttribute();
WriteLiteral(" class=\"collapsible\">\r\n"); WriteLiteral(" class=\"collapsible\">\r\n");
#line 58 "CompilationErrorPage.cshtml" #line 65 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 58 "CompilationErrorPage.cshtml" #line 65 "CompilationErrorPage.cshtml"
foreach (var line in frame.PreContextCode) foreach (var line in frame.PreContextCode)
{ {
@ -248,41 +266,41 @@ WriteAttributeValue("", 2008, frame.PreContextLine, 2008, 21, false);
#line hidden #line hidden
WriteLiteral(" <li><span>"); WriteLiteral(" <li><span>");
#line 60 "CompilationErrorPage.cshtml" #line 67 "CompilationErrorPage.cshtml"
Write(line); Write(line);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></li>\r\n"); WriteLiteral("</span></li>\r\n");
#line 61 "CompilationErrorPage.cshtml" #line 68 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </ol>\r\n"); WriteLiteral(" </ol>\r\n");
#line 63 "CompilationErrorPage.cshtml" #line 70 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" <ol"); WriteLiteral(" <ol");
BeginWriteAttribute("start", " start=\"", 2410, "\"", 2429, 1); BeginWriteAttribute("start", " start=\"", 2700, "\"", 2719, 1);
#line 64 "CompilationErrorPage.cshtml" #line 71 "CompilationErrorPage.cshtml"
WriteAttributeValue("", 2418, frame.Line, 2418, 11, false); WriteAttributeValue("", 2708, frame.Line, 2708, 11, false);
#line default #line default
#line hidden #line hidden
EndWriteAttribute(); EndWriteAttribute();
WriteLiteral(" class=\"highlight\">\r\n"); WriteLiteral(" class=\"highlight\">\r\n");
#line 65 "CompilationErrorPage.cshtml" #line 72 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 65 "CompilationErrorPage.cshtml" #line 72 "CompilationErrorPage.cshtml"
foreach (var line in frame.ContextCode) foreach (var line in frame.ContextCode)
{ {
@ -290,26 +308,26 @@ WriteAttributeValue("", 2418, frame.Line, 2418, 11, false);
#line hidden #line hidden
WriteLiteral(" <li><span>"); WriteLiteral(" <li><span>");
#line 67 "CompilationErrorPage.cshtml" #line 74 "CompilationErrorPage.cshtml"
Write(line); Write(line);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></li>\r\n"); WriteLiteral("</span></li>\r\n");
#line 68 "CompilationErrorPage.cshtml" #line 75 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </ol>\r\n"); WriteLiteral(" </ol>\r\n");
#line 70 "CompilationErrorPage.cshtml" #line 77 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 70 "CompilationErrorPage.cshtml" #line 77 "CompilationErrorPage.cshtml"
if (frame.PostContextCode.Any()) if (frame.PostContextCode.Any())
{ {
@ -317,21 +335,21 @@ WriteAttributeValue("", 2418, frame.Line, 2418, 11, false);
#line hidden #line hidden
WriteLiteral(" <ol"); WriteLiteral(" <ol");
BeginWriteAttribute("start", " start=\'", 2856, "\'", 2881, 1); BeginWriteAttribute("start", " start=\'", 3146, "\'", 3171, 1);
#line 72 "CompilationErrorPage.cshtml" #line 79 "CompilationErrorPage.cshtml"
WriteAttributeValue("", 2864, frame.Line + 1, 2864, 17, false); WriteAttributeValue("", 3154, frame.Line + 1, 3154, 17, false);
#line default #line default
#line hidden #line hidden
EndWriteAttribute(); EndWriteAttribute();
WriteLiteral(" class=\"collapsible\">\r\n"); WriteLiteral(" class=\"collapsible\">\r\n");
#line 73 "CompilationErrorPage.cshtml" #line 80 "CompilationErrorPage.cshtml"
#line default #line default
#line hidden #line hidden
#line 73 "CompilationErrorPage.cshtml" #line 80 "CompilationErrorPage.cshtml"
foreach (var line in frame.PostContextCode) foreach (var line in frame.PostContextCode)
{ {
@ -339,41 +357,41 @@ WriteAttributeValue("", 2864, frame.Line + 1, 2864, 17, false);
#line hidden #line hidden
WriteLiteral(" <li><span>"); WriteLiteral(" <li><span>");
#line 75 "CompilationErrorPage.cshtml" #line 82 "CompilationErrorPage.cshtml"
Write(line); Write(line);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></li>\r\n"); WriteLiteral("</span></li>\r\n");
#line 76 "CompilationErrorPage.cshtml" #line 83 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </ol>\r\n"); WriteLiteral(" </ol>\r\n");
#line 78 "CompilationErrorPage.cshtml" #line 85 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </div>\r\n"); WriteLiteral(" </div>\r\n");
#line 80 "CompilationErrorPage.cshtml" #line 87 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </li>\r\n"); WriteLiteral(" </li>\r\n");
#line 82 "CompilationErrorPage.cshtml" #line 89 "CompilationErrorPage.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </ul>\r\n <br />\r\n </div>\r\n"); WriteLiteral(" </ul>\r\n <br />\r\n </div>\r\n");
#line 86 "CompilationErrorPage.cshtml" #line 93 "CompilationErrorPage.cshtml"
} }
#line default #line default

View File

@ -26,7 +26,10 @@
@foreach (var errorDetail in Model.ErrorDetails) @foreach (var errorDetail in Model.ErrorDetails)
{ {
<div id="stackpage" class="page"> <div id="stackpage" class="page">
@{ int tabIndex = 6; } @{
var stackFrameCount = 0;
var frameId = "";
}
@{ @{
var fileName = errorDetail.StackFrames.FirstOrDefault()?.File; var fileName = errorDetail.StackFrames.FirstOrDefault()?.File;
if (!string.IsNullOrEmpty(fileName)) if (!string.IsNullOrEmpty(fileName))
@ -42,8 +45,11 @@
<ul> <ul>
@foreach (var frame in errorDetail.StackFrames) @foreach (var frame in errorDetail.StackFrames)
{ {
<li class="frame" tabindex="@tabIndex"> @{
@{ tabIndex++; } stackFrameCount++;
frameId = "frame" + stackFrameCount;
}
<li class="frame" id="@frameId">
@if (!string.IsNullOrEmpty(frame.ErrorDetails)) @if (!string.IsNullOrEmpty(frame.ErrorDetails))
{ {
<h3>@frame.ErrorDetails</h3> <h3>@frame.ErrorDetails</h3>
@ -51,6 +57,7 @@
@if (frame.Line != 0 && frame.ContextCode.Any()) @if (frame.Line != 0 && frame.ContextCode.Any())
{ {
<button class="expandCollapseButton" data-frameId="@frameId">+</button>
<div class="source"> <div class="source">
@if (frame.PreContextCode.Any()) @if (frame.PreContextCode.Any())
{ {
@ -75,9 +82,9 @@
<li><span>@line</span></li> <li><span>@line</span></li>
} }
</ol> </ol>
} }
</div> </div>
} }
</li> </li>
} }
</ul> </ul>