Fix: Missing void end tag when targeted by TH with WithoutEndTag structure (dotnet/aspnetcore-tooling#105)

\n\nCommit migrated from 33bf2691d5
This commit is contained in:
Ajay Bhargav Baaskaran 2019-01-08 16:11:18 -08:00 committed by GitHub
parent 5b5aa6837f
commit e1245d874f
1 changed files with 3 additions and 3 deletions

View File

@ -111,18 +111,18 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
{
var tagHelperElement = SyntaxFactory.MarkupTagHelperElement(tagHelperStart, body: new SyntaxList<RazorSyntaxNode>(), endTag: null);
var rewrittenTagHelper = tagHelperElement.WithTagHelperInfo(tagHelperInfo);
if (node.Body.Count == 0)
if (node.Body.Count == 0 && node.EndTag == null)
{
return rewrittenTagHelper;
}
// This tag contains a body which needs to be moved to the parent.
// This tag contains a body and/or an end tag which needs to be moved to the parent.
var rewrittenNodes = SyntaxListBuilder<RazorSyntaxNode>.Create();
rewrittenNodes.Add(rewrittenTagHelper);
var rewrittenBody = VisitList(node.Body);
rewrittenNodes.AddRange(rewrittenBody);
return SyntaxFactory.MarkupElement(startTag: null, body: rewrittenNodes.ToList(), endTag: null);
return SyntaxFactory.MarkupElement(startTag: null, body: rewrittenNodes.ToList(), endTag: node.EndTag);
}
else if (node.EndTag == null)
{