From 57c10c0321acbca33ce2f470b8d8d6583032deff Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Thu, 7 Feb 2019 14:03:23 -0800 Subject: [PATCH] Fixed null-ref with reserved word inside a code block (dotnet/aspnetcore-tooling#192) \n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/10dbc434ee4ea10bb5add4be01dba838bc1e7718 --- .../src/Legacy/CSharpCodeParser.cs | 3 +++ 1 file changed, 3 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 2abfa4ff27..b9dc3bc9d2 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/CSharpCodeParser.cs +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Legacy/CSharpCodeParser.cs @@ -2179,6 +2179,9 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy CompleteBlock(); var keyword = OutputAsMetaCode(Output()); var directiveBody = SyntaxFactory.RazorDirectiveBody(keyword, cSharpCode: null); + + // transition could be null if we're already inside a code block. + transition = transition ?? SyntaxFactory.CSharpTransition(SyntaxFactory.MissingToken(SyntaxKind.Transition)); var directive = SyntaxFactory.RazorDirective(transition, directiveBody); builder.Add(directive); }