mirror of
https://github.com/github/codeql.git
synced 2026-04-26 09:15:12 +02:00
Merge pull request #15542 from tamasvajk/feature/relative-line-pragma
C#: Try resolve relative paths in line mappings
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Semmle.Util.Logging;
|
||||
|
||||
namespace Semmle.Extraction.CSharp.Entities
|
||||
{
|
||||
@@ -25,7 +27,8 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
var mapped = Symbol.GetMappedLineSpan();
|
||||
if (mapped.HasMappedPath && mapped.IsValid)
|
||||
{
|
||||
var mappedLoc = Create(Context, Location.Create(mapped.Path, default, mapped.Span));
|
||||
var path = TryAdjustRelativeMappedFilePath(mapped.Path, Position.Path, Context.Extractor.Logger);
|
||||
var mappedLoc = Create(Context, Location.Create(path, default, mapped.Span));
|
||||
|
||||
trapFile.locations_mapped(this, mappedLoc);
|
||||
}
|
||||
@@ -61,5 +64,25 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
|
||||
public override NonGeneratedSourceLocation Create(Context cx, Location init) => new NonGeneratedSourceLocation(cx, init);
|
||||
}
|
||||
|
||||
public static string TryAdjustRelativeMappedFilePath(string mappedToPath, string mappedFromPath, ILogger logger)
|
||||
{
|
||||
if (!Path.IsPathRooted(mappedToPath))
|
||||
{
|
||||
try
|
||||
{
|
||||
var fullPath = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(mappedFromPath)!, mappedToPath));
|
||||
logger.LogDebug($"Found relative path in line mapping: '{mappedToPath}', interpreting it as '{fullPath}'");
|
||||
|
||||
mappedToPath = fullPath;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
logger.LogDebug($"Failed to compute absolute path for relative path in line mapping: '{mappedToPath}': {e}");
|
||||
}
|
||||
}
|
||||
|
||||
return mappedToPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,9 +25,11 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
{
|
||||
trapFile.directive_lines(this, kind);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Symbol.File.ValueText))
|
||||
var path = Symbol.File.ValueText;
|
||||
if (!string.IsNullOrWhiteSpace(path))
|
||||
{
|
||||
var file = File.Create(Context, Symbol.File.ValueText);
|
||||
path = NonGeneratedSourceLocation.TryAdjustRelativeMappedFilePath(path, Symbol.SyntaxTree.FilePath, Context.Extractor.Logger);
|
||||
var file = File.Create(Context, path);
|
||||
trapFile.directive_line_file(this, file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,8 @@ namespace Semmle.Extraction.CSharp.Entities
|
||||
|
||||
protected override void PopulatePreprocessor(TextWriter trapFile)
|
||||
{
|
||||
var file = File.Create(Context, Symbol.File.ValueText);
|
||||
var path = NonGeneratedSourceLocation.TryAdjustRelativeMappedFilePath(Symbol.File.ValueText, Symbol.SyntaxTree.FilePath, Context.Extractor.Logger);
|
||||
var file = File.Create(Context, path);
|
||||
trapFile.pragma_checksums(this, file, Symbol.Guid.ToString(), Symbol.Bytes.ToString());
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Areas/TestArea/Views/Shared/Test18.cshtml"
|
||||
#line 6 "../Areas/TestArea/Views/Shared/Test18.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Areas/TestArea/Views/Shared/Test18.cshtml"
|
||||
#line 8 "../Areas/TestArea/Views/Shared/Test18.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Areas/TestArea/Views/Shared/Test18.cshtml"
|
||||
#line 9 "../Areas/TestArea/Views/Shared/Test18.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Areas/TestArea/Views/Test4/Test17.cshtml"
|
||||
#line 6 "../Areas/TestArea/Views/Test4/Test17.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Areas/TestArea/Views/Test4/Test17.cshtml"
|
||||
#line 8 "../Areas/TestArea/Views/Test4/Test17.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Areas/TestArea/Views/Test4/Test17.cshtml"
|
||||
#line 9 "../Areas/TestArea/Views/Test4/Test17.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "MyAreas/Test4/Test22.cshtml"
|
||||
#line 6 "../MyAreas/Test4/Test22.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "MyAreas/Test4/Test22.cshtml"
|
||||
#line 8 "../MyAreas/Test4/Test22.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "MyAreas/Test4/Test22.cshtml"
|
||||
#line 9 "../MyAreas/Test4/Test22.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Pages/Shared/Test21.cshtml"
|
||||
#line 6 "../Pages/Shared/Test21.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Pages/Shared/Test21.cshtml"
|
||||
#line 8 "../Pages/Shared/Test21.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Pages/Shared/Test21.cshtml"
|
||||
#line 9 "../Pages/Shared/Test21.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "$PATHSLASH"
|
||||
#line 6 "../$PATHSLASH"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "$PATHSLASH"
|
||||
#line 8 "../$PATHSLASH"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "$PATHSLASH"
|
||||
#line 9 "../$PATHSLASH"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Custom2/Test16.cshtml"
|
||||
#line 6 "../Views/Custom2/Test16.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Custom2/Test16.cshtml"
|
||||
#line 8 "../Views/Custom2/Test16.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Custom2/Test16.cshtml"
|
||||
#line 9 "../Views/Custom2/Test16.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Custom/Test3/Test15.cshtml"
|
||||
#line 6 "../Views/Custom/Test3/Test15.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Custom/Test3/Test15.cshtml"
|
||||
#line 8 "../Views/Custom/Test3/Test15.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Custom/Test3/Test15.cshtml"
|
||||
#line 9 "../Views/Custom/Test3/Test15.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Other/Test13.cshtml"
|
||||
#line 6 "../Views/Other/Test13.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Other/Test13.cshtml"
|
||||
#line 8 "../Views/Other/Test13.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Other/Test13.cshtml"
|
||||
#line 9 "../Views/Other/Test13.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Other/Test5.cshtml"
|
||||
#line 6 "../Views/Other/Test5.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Other/Test5.cshtml"
|
||||
#line 8 "../Views/Other/Test5.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Other/Test5.cshtml"
|
||||
#line 9 "../Views/Other/Test5.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Other/Test6.cshtml"
|
||||
#line 6 "../Views/Other/Test6.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Other/Test6.cshtml"
|
||||
#line 8 "../Views/Other/Test6.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Other/Test6.cshtml"
|
||||
#line 9 "../Views/Other/Test6.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Other/Test8.cshtml"
|
||||
#line 6 "../Views/Other/Test8.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Other/Test8.cshtml"
|
||||
#line 8 "../Views/Other/Test8.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Other/Test8.cshtml"
|
||||
#line 9 "../Views/Other/Test8.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Other/Test9.cshtml"
|
||||
#line 6 "../Views/Other/Test9.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Other/Test9.cshtml"
|
||||
#line 8 "../Views/Other/Test9.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Other/Test9.cshtml"
|
||||
#line 9 "../Views/Other/Test9.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Shared/Test12.cshtml"
|
||||
#line 6 "../Views/Shared/Test12.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Shared/Test12.cshtml"
|
||||
#line 8 "../Views/Shared/Test12.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Shared/Test12.cshtml"
|
||||
#line 9 "../Views/Shared/Test12.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Shared/Test14.cshtml"
|
||||
#line 6 "../Views/Shared/Test14.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Shared/Test14.cshtml"
|
||||
#line 8 "../Views/Shared/Test14.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Shared/Test14.cshtml"
|
||||
#line 9 "../Views/Shared/Test14.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Shared/Test19.cshtml"
|
||||
#line 6 "../Views/Shared/Test19.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Shared/Test19.cshtml"
|
||||
#line 8 "../Views/Shared/Test19.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Shared/Test19.cshtml"
|
||||
#line 9 "../Views/Shared/Test19.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Shared/Test2.cshtml"
|
||||
#line 6 "../Views/Shared/Test2.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Shared/Test2.cshtml"
|
||||
#line 8 "../Views/Shared/Test2.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Shared/Test2.cshtml"
|
||||
#line 9 "../Views/Shared/Test2.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Shared/Test23.cshtml"
|
||||
#line 6 "../Views/Shared/Test23.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Shared/Test23.cshtml"
|
||||
#line 8 "../Views/Shared/Test23.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Shared/Test23.cshtml"
|
||||
#line 9 "../Views/Shared/Test23.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Shared/Test3.cshtml"
|
||||
#line 6 "../Views/Shared/Test3.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Shared/Test3.cshtml"
|
||||
#line 8 "../Views/Shared/Test3.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Shared/Test3.cshtml"
|
||||
#line 9 "../Views/Shared/Test3.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test1.cshtml"
|
||||
#line 6 "../Views/Test2/Test1.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test1.cshtml"
|
||||
#line 8 "../Views/Test2/Test1.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test1.cshtml"
|
||||
#line 9 "../Views/Test2/Test1.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test10.cshtml"
|
||||
#line 6 "../Views/Test2/Test10.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test10.cshtml"
|
||||
#line 8 "../Views/Test2/Test10.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test10.cshtml"
|
||||
#line 9 "../Views/Test2/Test10.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test11.cshtml"
|
||||
#line 6 "../Views/Test2/Test11.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test11.cshtml"
|
||||
#line 8 "../Views/Test2/Test11.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test11.cshtml"
|
||||
#line 9 "../Views/Test2/Test11.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test12.cshtml"
|
||||
#line 6 "../Views/Test2/Test12.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test12.cshtml"
|
||||
#line 8 "../Views/Test2/Test12.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test12.cshtml"
|
||||
#line 9 "../Views/Test2/Test12.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test14.cshtml"
|
||||
#line 6 "../Views/Test2/Test14.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test14.cshtml"
|
||||
#line 8 "../Views/Test2/Test14.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test14.cshtml"
|
||||
#line 9 "../Views/Test2/Test14.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test2.cshtml"
|
||||
#line 6 "../Views/Test2/Test2.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test2.cshtml"
|
||||
#line 8 "../Views/Test2/Test2.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test2.cshtml"
|
||||
#line 9 "../Views/Test2/Test2.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test2/Test3.cshtml"
|
||||
#line 6 "../Views/Test2/Test3.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test2/Test3.cshtml"
|
||||
#line 8 "../Views/Test2/Test3.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test2/Test3.cshtml"
|
||||
#line 9 "../Views/Test2/Test3.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test4/Test20.cshtml"
|
||||
#line 6 "../Views/Test4/Test20.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test4/Test20.cshtml"
|
||||
#line 8 "../Views/Test4/Test20.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test4/Test20.cshtml"
|
||||
#line 9 "../Views/Test4/Test20.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test/Test1.cshtml"
|
||||
#line 6 "../Views/Test/Test1.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test/Test1.cshtml"
|
||||
#line 8 "../Views/Test/Test1.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test/Test1.cshtml"
|
||||
#line 9 "../Views/Test/Test1.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test/Test3.cshtml"
|
||||
#line 6 "../Views/Test/Test3.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test/Test3.cshtml"
|
||||
#line 8 "../Views/Test/Test3.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test/Test3.cshtml"
|
||||
#line 9 "../Views/Test/Test3.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test/Test4.cshtml"
|
||||
#line 6 "../Views/Test/Test4.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test/Test4.cshtml"
|
||||
#line 8 "../Views/Test/Test4.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test/Test4.cshtml"
|
||||
#line 9 "../Views/Test/Test4.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
@@ -24,7 +24,7 @@ using test;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 6 "Views/Test/Test7.cshtml"
|
||||
#line 6 "../Views/Test/Test7.cshtml"
|
||||
if (Model != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ using test;
|
||||
#nullable disable
|
||||
WriteLiteral(" <h3>Hello \"");
|
||||
#nullable restore
|
||||
#line 8 "Views/Test/Test7.cshtml"
|
||||
#line 8 "../Views/Test/Test7.cshtml"
|
||||
Write(Html.Raw(Model.Name));
|
||||
|
||||
#line default
|
||||
@@ -41,7 +41,7 @@ Write(Html.Raw(Model.Name));
|
||||
#nullable disable
|
||||
WriteLiteral("\"</h3>\n");
|
||||
#nullable restore
|
||||
#line 9 "Views/Test/Test7.cshtml"
|
||||
#line 9 "../Views/Test/Test7.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
|
||||
Reference in New Issue
Block a user