﻿Document - 
    NamespaceDeclaration -  - AspNetCoreGeneratedDocument
        UsingDirective -  - TModel = global::System.Object
        UsingDirective - (1:0,1 [20] ) - global::System
        UsingDirective - (24:1,1 [40] ) - global::System.Collections.Generic
        UsingDirective - (67:2,1 [25] ) - global::System.Linq
        UsingDirective - (95:3,1 [36] ) - global::System.Threading.Tasks
        UsingDirective - (134:4,1 [38] ) - global::Microsoft.AspNetCore.Mvc
        UsingDirective - (175:5,1 [48] ) - global::Microsoft.AspNetCore.Mvc.Rendering
        UsingDirective - (226:6,1 [51] ) - global::Microsoft.AspNetCore.Mvc.ViewFeatures
        RazorCompiledItemMetadataAttribute - 
        CreateNewOnMetadataUpdateAttribute - 
        ClassDeclaration -  - internal sealed - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp7 - global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic> - 
            DefaultTagHelperRuntime - 
            FieldDeclaration -  - private - global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper - __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_BodyTagHelper
            DesignTimeDirective - 
                DirectiveToken - (287:7,8 [62] ) - global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<TModel>
                DirectiveToken - (350:7,71 [4] ) - Html
                DirectiveToken - (364:8,8 [54] ) - global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper
                DirectiveToken - (419:8,63 [4] ) - Json
                DirectiveToken - (433:9,8 [53] ) - global::Microsoft.AspNetCore.Mvc.IViewComponentHelper
                DirectiveToken - (487:9,62 [9] ) - Component
                DirectiveToken - (506:10,8 [43] ) - global::Microsoft.AspNetCore.Mvc.IUrlHelper
                DirectiveToken - (550:10,52 [3] ) - Url
                DirectiveToken - (563:11,8 [70] ) - global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider
                DirectiveToken - (634:11,79 [23] ) - ModelExpressionProvider
                DirectiveToken - (673:12,14 [104] ) - global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor
                DirectiveToken - (793:13,14 [95] ) - global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.HeadTagHelper, Microsoft.AspNetCore.Mvc.Razor
                DirectiveToken - (904:14,14 [95] ) - global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper, Microsoft.AspNetCore.Mvc.Razor
            CSharpCode - 
                IntermediateToken -  - CSharp - #pragma warning disable 0414
            CSharpCode - 
                IntermediateToken -  - CSharp - private static object __o = null;
            CSharpCode - 
                IntermediateToken -  - CSharp - #pragma warning restore 0414
            MethodDeclaration -  - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
                TagHelper - (0:0,0 [1191] CSharp7.cshtml) - body - TagMode.StartTagAndEndTag
                    DefaultTagHelperBody - 
                        HtmlContent - (6:0,6 [6] CSharp7.cshtml)
                            LazyIntermediateToken - (6:0,6 [6] CSharp7.cshtml) - Html - \n    
                        CSharpCode - (14:1,6 [187] CSharp7.cshtml)
                            LazyIntermediateToken - (14:1,6 [187] CSharp7.cshtml) - CSharp - \n        var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()\n        {\n            ["John Doe"] = ("John", "Doe", true)\n        };\n\n        
                        CSharpCode - (246:7,53 [253] CSharp7.cshtml)
                            LazyIntermediateToken - (246:7,53 [253] CSharp7.cshtml) - CSharp - \n\n        int Sixteen = 0b0001_0000;\n        long BillionsAndBillions = 100_000_000_000;\n        double AvogadroConstant = 6.022_140_857_747_474e23;\n        decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;\n    
                        HtmlContent - (502:14,0 [6] CSharp7.cshtml)
                            LazyIntermediateToken - (502:14,0 [6] CSharp7.cshtml) - Html - \n    
                        CSharpCode - (509:15,5 [159] CSharp7.cshtml)
                            LazyIntermediateToken - (509:15,5 [159] CSharp7.cshtml) - CSharp - if (nameLookup.TryGetValue("John Doe", out var entry))\n    {\n        if (entry.Extra is bool alive)\n        {\n            // Do Something\n        }\n    }
                        HtmlContent - (668:21,5 [48] CSharp7.cshtml)
                            LazyIntermediateToken - (668:21,5 [6] CSharp7.cshtml) - Html - \n    
                            LazyIntermediateToken - (674:22,4 [2] CSharp7.cshtml) - Html - <p
                            LazyIntermediateToken - (676:22,6 [1] CSharp7.cshtml) - Html - >
                            LazyIntermediateToken - (677:22,7 [39] CSharp7.cshtml) - Html - \n        Here's a very unique number: 
                        CSharpExpression - (718:23,39 [62] CSharp7.cshtml)
                            LazyIntermediateToken - (718:23,39 [62] CSharp7.cshtml) - CSharp - 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M
                        HtmlContent - (781:23,102 [33] CSharp7.cshtml)
                            LazyIntermediateToken - (781:23,102 [6] CSharp7.cshtml) - Html - \n    
                            LazyIntermediateToken - (787:24,4 [4] CSharp7.cshtml) - Html - </p>
                            LazyIntermediateToken - (791:24,8 [8] CSharp7.cshtml) - Html - \n\n    
                            LazyIntermediateToken - (799:26,4 [4] CSharp7.cshtml) - Html - <div
                            LazyIntermediateToken - (803:26,8 [1] CSharp7.cshtml) - Html - >
                            LazyIntermediateToken - (804:26,9 [10] CSharp7.cshtml) - Html - \n        
                        CSharpExpression - (816:27,10 [34] CSharp7.cshtml)
                            LazyIntermediateToken - (816:27,10 [34] CSharp7.cshtml) - CSharp - (First: "John", Last: "Doe").First
                        HtmlContent - (851:27,45 [1] CSharp7.cshtml)
                            LazyIntermediateToken - (851:27,45 [1] CSharp7.cshtml) - Html -  
                        HtmlContent - (870:27,64 [20] CSharp7.cshtml)
                            LazyIntermediateToken - (870:27,64 [6] CSharp7.cshtml) - Html - \n    
                            LazyIntermediateToken - (876:28,4 [6] CSharp7.cshtml) - Html - </div>
                            LazyIntermediateToken - (882:28,10 [8] CSharp7.cshtml) - Html - \n\n    
                        CSharpCode - (891:30,5 [291] CSharp7.cshtml)
                            LazyIntermediateToken - (891:30,5 [291] CSharp7.cshtml) - CSharp - switch (entry.Extra)\n    {\n        case int age:\n            // Do something\n            break;\n        case IEnumerable<string> childrenNames:\n            // Do more something\n            break;\n        case null:\n            // Do even more of something\n            break;\n    }
                        HtmlContent - (1182:41,5 [2] CSharp7.cshtml)
                            LazyIntermediateToken - (1182:41,5 [2] CSharp7.cshtml) - Html - \n
                    DefaultTagHelperCreate -  - Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper
                    DefaultTagHelperExecute - 
            Inject - 
            Inject - 
            Inject - 
            Inject - 
            Inject - 
