Fix invalid cast with end script tag containing code (dotnet/aspnetcore-tooling#193)

\n\nCommit migrated from 56fa17b094
This commit is contained in:
Ajay Bhargav Baaskaran 2019-02-07 15:06:26 -08:00 committed by GitHub
parent 73ca91f603
commit daeb4f80d1
1 changed files with 5 additions and 3 deletions

View File

@ -1357,8 +1357,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
var tagStart = CurrentStart;
builder.Add(OutputAsMarkupLiteral());
SpanContext.EditHandler.AcceptedCharacters = endTagAcceptedCharacters;
var openAngleToken = EatCurrentToken(); // '<'
var forwardSlashToken = EatCurrentToken(); // '/'
var tagNameToken = EatCurrentToken(); // 'script'
@ -1369,8 +1367,10 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
{
var miscAttributeBuilder = pooledResult.Builder;
ParseMarkupNodes(miscAttributeBuilder, ParseMode.Text, token => token.Kind == SyntaxKind.CloseAngle);
// We want to accept malformed end tags as content.
AcceptUntil(SyntaxKind.CloseAngle, SyntaxKind.OpenAngle);
miscAttributeBuilder.Add(OutputAsMarkupLiteral());
if (miscAttributeBuilder.Count > 0)
{
miscContent = SyntaxFactory.MarkupMiscAttributeContent(miscAttributeBuilder.ToList());
@ -1390,6 +1390,8 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
}
}
SpanContext.EditHandler.AcceptedCharacters = endTagAcceptedCharacters;
endTag = SyntaxFactory.MarkupEndTag(
openAngleToken,
forwardSlashToken,