Add properties to the body node that it needs

Removes a usage of TagRenderingContext
This commit is contained in:
Ryan Nowak 2017-07-03 11:09:53 -07:00
parent ddef61485b
commit 35889cba81
7 changed files with 21 additions and 20 deletions

View File

@ -205,11 +205,7 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
public override void VisitTagHelper(TagHelperIntermediateNode node)
{
var tagHelperRenderingContext = new TagHelperRenderingContext()
{
TagName = node.TagName,
TagMode = node.TagMode
};
var tagHelperRenderingContext = new TagHelperRenderingContext();
using (Context.Push(tagHelperRenderingContext))
{

View File

@ -11,10 +11,6 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
private Dictionary<string, string> _renderedBoundAttributes;
private HashSet<string> _verifiedPropertyDictionaries;
public string TagName { get; set; }
public TagMode TagMode { get; set; }
public Dictionary<string, string> RenderedBoundAttributes
{
get

View File

@ -9,8 +9,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
{
public sealed class DefaultTagHelperBodyIntermediateNode : ExtensionIntermediateNode
{
public override IntermediateNodeCollection Children { get; } = new DefaultIntermediateNodeCollection();
public DefaultTagHelperBodyIntermediateNode()
{
}
@ -35,6 +33,12 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
}
}
public override IntermediateNodeCollection Children { get; } = new DefaultIntermediateNodeCollection();
public TagMode TagMode { get; set; }
public string TagName { get; set; }
public override void Accept(IntermediateNodeVisitor visitor)
{
if (visitor == null)

View File

@ -88,7 +88,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
if (node.Children[i] is TagHelperBodyIntermediateNode bodyNode)
{
// We only expect one body node.
node.Children[i] = new DefaultTagHelperBodyIntermediateNode(bodyNode);
node.Children[i] = new DefaultTagHelperBodyIntermediateNode(bodyNode)
{
TagMode = node.TagMode,
TagName = node.TagName,
};
break;
}
}

View File

@ -97,11 +97,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
uniqueId = Guid.NewGuid().ToString("N");
}
context.CodeWriter.WriteStringLiteral(context.TagHelperRenderingContext.TagName)
context.CodeWriter.WriteStringLiteral(node.TagName)
.WriteParameterSeparator()
.Write(TagModeTypeName)
.Write(".")
.Write(context.TagHelperRenderingContext.TagMode.ToString())
.Write(node.TagMode.ToString())
.WriteParameterSeparator()
.WriteStringLiteral(uniqueId)
.WriteParameterSeparator();

View File

@ -11,10 +11,10 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
{
public override IntermediateNodeCollection Children { get; } = new DefaultIntermediateNodeCollection();
public TagMode TagMode { get; set; }
public string TagName { get; set; }
public TagMode TagMode { get; set; }
public ICollection<TagHelperDescriptor> TagHelpers { get; } = new List<TagHelperDescriptor>();
public TagHelperBodyIntermediateNode Body => Children.OfType<TagHelperBodyIntermediateNode>().SingleOrDefault();

View File

@ -92,10 +92,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
var extension = new DefaultTagHelperTargetExtension();
var context = GetRuntimeCodeRenderingContext();
context.TagHelperRenderingContext.TagMode = TagMode.SelfClosing;
context.TagHelperRenderingContext.TagName = "p";
var node = new DefaultTagHelperBodyIntermediateNode();
var node = new DefaultTagHelperBodyIntermediateNode()
{
TagMode = TagMode.SelfClosing,
TagName = "p",
};
// Act
extension.WriteTagHelperBody(context, node);