Make IntermediateNodeBuilder internal (#1455)
This commit is contained in:
parent
6bbcbc1261
commit
5e57e9f235
|
|
@ -52,12 +52,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
Debug.Assert(index >= 0);
|
||||
|
||||
var pageAttribute = new CSharpCodeIntermediateNode();
|
||||
IntermediateNodeBuilder.Create(pageAttribute)
|
||||
.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = attribute,
|
||||
});
|
||||
pageAttribute.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = attribute,
|
||||
});
|
||||
|
||||
documentNode.Children.Insert(index, pageAttribute);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,24 +31,22 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
var endContextMethodName = "EndContext"; /* ORIGINAL: EndContextMethodName */
|
||||
|
||||
var beginNode = new CSharpCodeIntermediateNode();
|
||||
IntermediateNodeBuilder.Create(beginNode)
|
||||
.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = string.Format("{0}({1}, {2}, {3});",
|
||||
beginContextMethodName,
|
||||
item.Source.AbsoluteIndex.ToString(CultureInfo.InvariantCulture),
|
||||
item.Source.Length.ToString(CultureInfo.InvariantCulture),
|
||||
item.IsLiteral ? "true" : "false")
|
||||
});
|
||||
beginNode.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = string.Format("{0}({1}, {2}, {3});",
|
||||
beginContextMethodName,
|
||||
item.Source.AbsoluteIndex.ToString(CultureInfo.InvariantCulture),
|
||||
item.Source.Length.ToString(CultureInfo.InvariantCulture),
|
||||
item.IsLiteral ? "true" : "false")
|
||||
});
|
||||
|
||||
var endNode = new CSharpCodeIntermediateNode();
|
||||
IntermediateNodeBuilder.Create(endNode)
|
||||
.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = string.Format("{0}();", endContextMethodName)
|
||||
});
|
||||
endNode.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = string.Format("{0}();", endContextMethodName)
|
||||
});
|
||||
|
||||
var nodeIndex = item.Parent.Children.IndexOf(item.Node);
|
||||
item.Parent.Children.Insert(nodeIndex, beginNode);
|
||||
|
|
|
|||
|
|
@ -30,9 +30,8 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
string.Equals(node.Descriptor.IndexerTypeName, ModelExpressionTypeName, StringComparison.Ordinal)))
|
||||
{
|
||||
var expression = new CSharpExpressionIntermediateNode();
|
||||
var builder = IntermediateNodeBuilder.Create(expression);
|
||||
|
||||
builder.Add(new IntermediateToken()
|
||||
expression.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = "ModelExpressionProvider.CreateModelExpression(ViewData, __model => ",
|
||||
|
|
@ -42,13 +41,13 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
{
|
||||
// A 'simple' expression will look like __model => __model.Foo
|
||||
|
||||
builder.Add(new IntermediateToken()
|
||||
expression.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = "__model."
|
||||
});
|
||||
|
||||
builder.Add(token);
|
||||
expression.Children.Add(token);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -61,7 +60,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
if (nestedExpression.Children[j] is IntermediateToken cSharpToken &&
|
||||
cSharpToken.IsCSharp)
|
||||
{
|
||||
builder.Add(cSharpToken);
|
||||
expression.Children.Add(cSharpToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +69,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
}
|
||||
}
|
||||
|
||||
builder.Add(new IntermediateToken()
|
||||
expression.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = ")",
|
||||
|
|
|
|||
|
|
@ -23,21 +23,19 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
|
||||
var viewDataType = $"global::Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary<{modelType}>";
|
||||
var vddProperty = new CSharpCodeIntermediateNode();
|
||||
IntermediateNodeBuilder.Create(vddProperty)
|
||||
.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = $"public {viewDataType} ViewData => ({viewDataType})PageContext?.ViewData;",
|
||||
});
|
||||
vddProperty.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = $"public {viewDataType} ViewData => ({viewDataType})PageContext?.ViewData;",
|
||||
});
|
||||
@class.Children.Add(vddProperty);
|
||||
|
||||
var modelProperty = new CSharpCodeIntermediateNode();
|
||||
IntermediateNodeBuilder.Create(modelProperty)
|
||||
.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = $"public {modelType} Model => ViewData.Model;",
|
||||
});
|
||||
modelProperty.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = $"public {modelType} Model => ViewData.Model;",
|
||||
});
|
||||
@class.Children.Add(modelProperty);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,12 +49,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
WriteClass(writer, tagHelper);
|
||||
|
||||
var statement = new CSharpCodeIntermediateNode();
|
||||
IntermediateNodeBuilder.Create(statement)
|
||||
.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = writer.GenerateCode()
|
||||
});
|
||||
statement.Children.Add(new IntermediateToken()
|
||||
{
|
||||
Kind = IntermediateToken.TokenKind.CSharp,
|
||||
Content = writer.GenerateCode()
|
||||
});
|
||||
|
||||
@class.Children.Add(statement);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using System;
|
|||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
{
|
||||
public abstract class IntermediateNodeBuilder
|
||||
internal abstract class IntermediateNodeBuilder
|
||||
{
|
||||
public static IntermediateNodeBuilder Create(IntermediateNode root)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue