React to CSharpTokenIRNode being removed
This commit is contained in:
parent
0f5d5ff3b5
commit
11d747fc33
|
|
@ -27,8 +27,9 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var expression = new CSharpExpressionIRNode();
|
var expression = new CSharpExpressionIRNode();
|
||||||
var builder = RazorIRBuilder.Create(expression);
|
var builder = RazorIRBuilder.Create(expression);
|
||||||
|
|
||||||
builder.Add(new CSharpTokenIRNode()
|
builder.Add(new RazorIRToken()
|
||||||
{
|
{
|
||||||
|
Kind = RazorIRToken.TokenKind.CSharp,
|
||||||
Content = "ModelExpressionProvider.CreateModelExpression(ViewData, __model => ",
|
Content = "ModelExpressionProvider.CreateModelExpression(ViewData, __model => ",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -40,13 +41,15 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
// https://github.com/aspnet/Razor/issues/963
|
// https://github.com/aspnet/Razor/issues/963
|
||||||
var original = ((HtmlContentIRNode)node.Children[0]);
|
var original = ((HtmlContentIRNode)node.Children[0]);
|
||||||
|
|
||||||
builder.Add(new CSharpTokenIRNode()
|
builder.Add(new RazorIRToken()
|
||||||
{
|
{
|
||||||
|
Kind = RazorIRToken.TokenKind.CSharp,
|
||||||
Content = "__model."
|
Content = "__model."
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.Add(new CSharpTokenIRNode()
|
builder.Add(new RazorIRToken()
|
||||||
{
|
{
|
||||||
|
Kind = RazorIRToken.TokenKind.CSharp,
|
||||||
Content = original.Content,
|
Content = original.Content,
|
||||||
Source = original.Source,
|
Source = original.Source,
|
||||||
});
|
});
|
||||||
|
|
@ -60,8 +63,8 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
{
|
{
|
||||||
for (var j = 0; j < nestedExpression.Children.Count; j++)
|
for (var j = 0; j < nestedExpression.Children.Count; j++)
|
||||||
{
|
{
|
||||||
var cSharpToken = nestedExpression.Children[j] as CSharpTokenIRNode;
|
var cSharpToken = nestedExpression.Children[j] as RazorIRToken;
|
||||||
if (cSharpToken != null)
|
if (cSharpToken != null && cSharpToken.Kind == RazorIRToken.TokenKind.CSharp)
|
||||||
{
|
{
|
||||||
builder.Add(cSharpToken);
|
builder.Add(cSharpToken);
|
||||||
}
|
}
|
||||||
|
|
@ -75,8 +78,9 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var html = node.Children[i] as HtmlContentIRNode;
|
var html = node.Children[i] as HtmlContentIRNode;
|
||||||
if (html != null)
|
if (html != null)
|
||||||
{
|
{
|
||||||
builder.Add(new CSharpTokenIRNode()
|
builder.Add(new RazorIRToken()
|
||||||
{
|
{
|
||||||
|
Kind = RazorIRToken.TokenKind.CSharp,
|
||||||
Content = html.Content,
|
Content = html.Content,
|
||||||
Source = html.Source,
|
Source = html.Source,
|
||||||
});
|
});
|
||||||
|
|
@ -84,8 +88,9 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.Add(new CSharpTokenIRNode()
|
builder.Add(new RazorIRToken()
|
||||||
{
|
{
|
||||||
|
Kind = RazorIRToken.TokenKind.CSharp,
|
||||||
Content = ")",
|
Content = ")",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -221,8 +221,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
for (var i = 0; i < node.Children.Count; i++)
|
for (var i = 0; i < node.Children.Count; i++)
|
||||||
{
|
{
|
||||||
var child = node.Children[i] as CSharpTokenIRNode;
|
var child = node.Children[i] as RazorIRToken;
|
||||||
builder.Append(child.Content);
|
if (child.Kind == RazorIRToken.TokenKind.CSharp)
|
||||||
|
{
|
||||||
|
builder.Append(child.Content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.ToString();
|
return builder.ToString();
|
||||||
|
|
|
||||||
|
|
@ -204,8 +204,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
for (var i = 0; i < node.Children.Count; i++)
|
for (var i = 0; i < node.Children.Count; i++)
|
||||||
{
|
{
|
||||||
var child = node.Children[i] as CSharpTokenIRNode;
|
var child = node.Children[i] as RazorIRToken;
|
||||||
builder.Append(child.Content);
|
if (child.Kind == RazorIRToken.TokenKind.CSharp)
|
||||||
|
{
|
||||||
|
builder.Append(child.Content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.ToString();
|
return builder.ToString();
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,8 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var expression = Assert.IsType<CSharpExpressionIRNode>(Assert.Single(setProperty.Children));
|
var expression = Assert.IsType<CSharpExpressionIRNode>(Assert.Single(setProperty.Children));
|
||||||
Assert.Equal("ModelExpressionProvider.CreateModelExpression(ViewData, __model => __model.Bar)", GetCSharpContent(expression));
|
Assert.Equal("ModelExpressionProvider.CreateModelExpression(ViewData, __model => __model.Bar)", GetCSharpContent(expression));
|
||||||
|
|
||||||
var originalNode = Assert.IsType<CSharpTokenIRNode>(expression.Children[2]);
|
var originalNode = Assert.IsType<RazorIRToken>(expression.Children[2]);
|
||||||
|
Assert.Equal(RazorIRToken.TokenKind.CSharp, originalNode.Kind);
|
||||||
Assert.Equal("Bar", originalNode.Content);
|
Assert.Equal("Bar", originalNode.Content);
|
||||||
Assert.Equal(new SourceSpan("test.cshtml", 51, 1, 8, 3), originalNode.Source.Value);
|
Assert.Equal(new SourceSpan("test.cshtml", 51, 1, 8, 3), originalNode.Source.Value);
|
||||||
}
|
}
|
||||||
|
|
@ -158,7 +159,8 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var expression = Assert.IsType<CSharpExpressionIRNode>(Assert.Single(setProperty.Children));
|
var expression = Assert.IsType<CSharpExpressionIRNode>(Assert.Single(setProperty.Children));
|
||||||
Assert.Equal("ModelExpressionProvider.CreateModelExpression(ViewData, __model => Bar)", GetCSharpContent(expression));
|
Assert.Equal("ModelExpressionProvider.CreateModelExpression(ViewData, __model => Bar)", GetCSharpContent(expression));
|
||||||
|
|
||||||
var originalNode = Assert.IsType<CSharpTokenIRNode>(expression.Children[1]);
|
var originalNode = Assert.IsType<RazorIRToken>(expression.Children[1]);
|
||||||
|
Assert.Equal(RazorIRToken.TokenKind.CSharp, originalNode.Kind);
|
||||||
Assert.Equal("Bar", originalNode.Content);
|
Assert.Equal("Bar", originalNode.Content);
|
||||||
Assert.Equal(new SourceSpan("test.cshtml", 52, 1, 9, 3), originalNode.Source.Value);
|
Assert.Equal(new SourceSpan("test.cshtml", 52, 1, 9, 3), originalNode.Source.Value);
|
||||||
}
|
}
|
||||||
|
|
@ -212,8 +214,11 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Host
|
||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
for (var i = 0; i < node.Children.Count; i++)
|
for (var i = 0; i < node.Children.Count; i++)
|
||||||
{
|
{
|
||||||
var child = node.Children[i] as CSharpTokenIRNode;
|
var child = node.Children[i] as RazorIRToken;
|
||||||
builder.Append(child.Content);
|
if (child.Kind == RazorIRToken.TokenKind.CSharp)
|
||||||
|
{
|
||||||
|
builder.Append(child.Content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.ToString();
|
return builder.ToString();
|
||||||
|
|
|
||||||
|
|
@ -366,8 +366,11 @@ public class __Generated__TagCloudViewComponentTagHelper : Microsoft.AspNetCore.
|
||||||
var builder = new StringBuilder();
|
var builder = new StringBuilder();
|
||||||
for (var i = 0; i < node.Children.Count; i++)
|
for (var i = 0; i < node.Children.Count; i++)
|
||||||
{
|
{
|
||||||
var child = node.Children[i] as CSharpTokenIRNode;
|
var child = node.Children[i] as RazorIRToken;
|
||||||
builder.Append(child.Content);
|
if (child.Kind == RazorIRToken.TokenKind.CSharp)
|
||||||
|
{
|
||||||
|
builder.Append(child.Content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.ToString();
|
return builder.ToString();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue