From 0ab2a1e5869187846e834980a08b80fe0242aea1 Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Thu, 14 Feb 2019 17:25:52 -0800 Subject: [PATCH] Fix an assumption in ComponentBindLoweringPass (dotnet/aspnetcore-tooling#212) \n\nCommit migrated from https://github.com/dotnet/aspnetcore-tooling/commit/315f804d6ebed407ef05d64ce620afc3e6c42f9b --- .../Components/ComponentBindLoweringPass.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Components/ComponentBindLoweringPass.cs b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Components/ComponentBindLoweringPass.cs index 9e979b515f..fc053b71d4 100644 --- a/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Components/ComponentBindLoweringPass.cs +++ b/src/Razor/Microsoft.AspNetCore.Razor.Language/src/Components/ComponentBindLoweringPass.cs @@ -507,15 +507,19 @@ namespace Microsoft.AspNetCore.Razor.Language.Components return GetToken(node); } - // In error cases we won't have a single token, but we still want to generate the code. IntermediateToken GetToken(IntermediateNode parent) { - return - parent.Children.Count == 1 ? (IntermediateToken)parent.Children[0] : new IntermediateToken() - { - Kind = TokenKind.CSharp, - Content = string.Join(string.Empty, parent.Children.OfType().Select(t => t.Content)), - }; + if (parent.Children.Count == 1 && parent.Children[0] is IntermediateToken token) + { + return token; + } + + // In error cases we won't have a single token, but we still want to generate the code. + return new IntermediateToken() + { + Kind = TokenKind.CSharp, + Content = string.Join(string.Empty, parent.Children.OfType().Select(t => t.Content)), + }; } } }