From 6c6e048dccc0809a70c23507122f90b6abd8d965 Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Tue, 22 Jan 2019 11:21:17 -0800 Subject: [PATCH 1/2] Fix missing transition in using keyword \n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/02781b17cd5bd4d124da5e648c2d414cf6125659 --- .../src/Legacy/CSharpCodeParser.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/CSharpCodeParser.cs b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/CSharpCodeParser.cs index bfdcbad2aa..2abfa4ff27 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/CSharpCodeParser.cs +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/CSharpCodeParser.cs @@ -1982,6 +1982,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy } else { + if (transition != null) + { + builder.Add(transition); + } + AcceptAndMoveNext(); AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); } From cdaad2964d71a97cea550ea845f001ad91177872 Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Tue, 22 Jan 2019 12:48:43 -0800 Subject: [PATCH 2/2] Fix tag grouping for tags with no name \n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/f5c1068d88784b7f6e07eef707138e2f02792f2c --- .../src/Legacy/HtmlMarkupParser.cs | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/HtmlMarkupParser.cs b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/HtmlMarkupParser.cs index 85f7540dd9..02c7eec22d 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/HtmlMarkupParser.cs +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/HtmlMarkupParser.cs @@ -480,7 +480,8 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy var endTagStart = CurrentStart; var endTag = ParseEndTag(mode, out var endTagName, out var _); - if (endTagName != null && string.Equals(CurrentStartTagName, endTagName, StringComparison.OrdinalIgnoreCase)) + Debug.Assert(endTagName != null); + if (string.Equals(CurrentStartTagName, endTagName, StringComparison.OrdinalIgnoreCase)) { // Happy path. Found a matching start tag. Create the element and reset the builder. var tracker = _tagTracker.Pop(); @@ -520,7 +521,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy // We can't possibly have a matching start tag. Context.ErrorSink.OnError( RazorDiagnosticFactory.CreateParsing_UnexpectedEndTag( - new SourceSpan(SourceLocationTracker.Advance(endTagStartLocation, ", < @DateTime.Now>, ' or '

' etc. Assert(SyntaxKind.OpenAngle); - tagName = null; + tagName = string.Empty; SyntaxToken tagNameToken = null; var openAngleToken = EatCurrentToken(); // Accept '<'