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:
parent
5b5aa6837f
commit
e1245d874f
|
|
@ -111,18 +111,18 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
{
|
{
|
||||||
var tagHelperElement = SyntaxFactory.MarkupTagHelperElement(tagHelperStart, body: new SyntaxList<RazorSyntaxNode>(), endTag: null);
|
var tagHelperElement = SyntaxFactory.MarkupTagHelperElement(tagHelperStart, body: new SyntaxList<RazorSyntaxNode>(), endTag: null);
|
||||||
var rewrittenTagHelper = tagHelperElement.WithTagHelperInfo(tagHelperInfo);
|
var rewrittenTagHelper = tagHelperElement.WithTagHelperInfo(tagHelperInfo);
|
||||||
if (node.Body.Count == 0)
|
if (node.Body.Count == 0 && node.EndTag == null)
|
||||||
{
|
{
|
||||||
return rewrittenTagHelper;
|
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();
|
var rewrittenNodes = SyntaxListBuilder<RazorSyntaxNode>.Create();
|
||||||
rewrittenNodes.Add(rewrittenTagHelper);
|
rewrittenNodes.Add(rewrittenTagHelper);
|
||||||
var rewrittenBody = VisitList(node.Body);
|
var rewrittenBody = VisitList(node.Body);
|
||||||
rewrittenNodes.AddRange(rewrittenBody);
|
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)
|
else if (node.EndTag == null)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue