﻿Document - 
    RazorCompiledItemAttribute - 
    NamespaceDeclaration -  - AspNetCoreGeneratedDocument
        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
        RazorSourceChecksumAttribute - 
        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
            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 [2] CSharp7.cshtml)
                            LazyIntermediateToken - (6:0,6 [2] CSharp7.cshtml) - Html - \n
                        CSharpCode - (8:1,0 [4] CSharp7.cshtml)
                            LazyIntermediateToken - (8:1,0 [4] CSharp7.cshtml) - CSharp -     
                        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 [2] CSharp7.cshtml)
                            LazyIntermediateToken - (502:14,0 [2] CSharp7.cshtml) - Html - \n
                        CSharpCode - (504:15,0 [4] CSharp7.cshtml)
                            LazyIntermediateToken - (504:15,0 [4] CSharp7.cshtml) - CSharp -     
                        CSharpCode - (509:15,5 [161] CSharp7.cshtml)
                            LazyIntermediateToken - (509:15,5 [161] 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    }\n
                        HtmlContent - (670:22,0 [46] CSharp7.cshtml)
                            LazyIntermediateToken - (670:22,0 [4] CSharp7.cshtml) - Html -     
                            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 [2] CSharp7.cshtml) - Html - \n
                            LazyIntermediateToken - (806:27,0 [8] CSharp7.cshtml) - Html -         
                        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 [16] CSharp7.cshtml)
                            LazyIntermediateToken - (870:27,64 [6] CSharp7.cshtml) - Html - \n    
                            LazyIntermediateToken - (876:28,4 [6] CSharp7.cshtml) - Html - </div>
                            LazyIntermediateToken - (882:28,10 [4] CSharp7.cshtml) - Html - \n\n
                        CSharpCode - (886:30,0 [4] CSharp7.cshtml)
                            LazyIntermediateToken - (886:30,0 [4] CSharp7.cshtml) - CSharp -     
                        CSharpCode - (891:30,5 [293] CSharp7.cshtml)
                            LazyIntermediateToken - (891:30,5 [293] 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    }\n
                    DefaultTagHelperCreate -  - Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper
                    DefaultTagHelperExecute - 
            Inject - 
            Inject - 
            Inject - 
            Inject - 
            Inject - 
