Document - 
    NamespaceDeclaration -  - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
        UsingDirective - (1:0,1 [32] CSharp8.cshtml) - System.Collections.Generic
        ClassDeclaration -  - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp8_DesignTime -  - 
            DesignTimeDirective - 
            CSharpCode - 
                IntermediateToken -  - CSharp - #pragma warning disable 0414
            CSharpCode - 
                IntermediateToken -  - CSharp - private static System.Object __o = null;
            CSharpCode - 
                IntermediateToken -  - CSharp - #pragma warning restore 0414
            MethodDeclaration -  - public async - System.Threading.Tasks.Task - ExecuteAsync
                HtmlContent - (33:0,33 [4] CSharp8.cshtml)
                    IntermediateToken - (33:0,33 [4] CSharp8.cshtml) - Html - \n\n
                CSharpCode - (39:2,2 [396] CSharp8.cshtml)
                    IntermediateToken - (39:2,2 [396] CSharp8.cshtml) - CSharp - \n    IAsyncEnumerable<bool> GetAsyncEnumerable()\n    {\n        return null;\n    }\n\n    await foreach (var val in GetAsyncEnumerable())\n    {\n\n    }\n\n    Range range = 1..5;\n    using var disposable = GetLastDisposableInRange(range);\n\n    var words = Array.Empty<string>();\n    var testEnum = GetEnum();\n    static TestEnum GetEnum()\n    {\n        return TestEnum.First;\n    }\n
                HtmlContent - (438:23,0 [2] CSharp8.cshtml)
                    IntermediateToken - (438:23,0 [2] CSharp8.cshtml) - Html - \n
                CSharpExpression - (441:24,1 [11] CSharp8.cshtml)
                    IntermediateToken - (441:24,1 [11] CSharp8.cshtml) - CSharp - words[1..2]
                HtmlContent - (452:24,12 [2] CSharp8.cshtml)
                    IntermediateToken - (452:24,12 [2] CSharp8.cshtml) - Html - \n
                CSharpExpression - (456:25,2 [13] CSharp8.cshtml)
                    IntermediateToken - (456:25,2 [13] CSharp8.cshtml) - CSharp - words[^2..^0]
                HtmlContent - (470:25,16 [4] CSharp8.cshtml)
                    IntermediateToken - (470:25,16 [4] CSharp8.cshtml) - Html - \n\n
                CSharpExpression - (476:27,2 [121] CSharp8.cshtml)
                    IntermediateToken - (476:27,2 [121] CSharp8.cshtml) - CSharp - testEnum switch\n{\n    TestEnum.First => "The First!",\n    TestEnum.Second => "The Second!",\n    _ => "The others",\n}
                HtmlContent - (598:32,2 [4] CSharp8.cshtml)
                    IntermediateToken - (598:32,2 [4] CSharp8.cshtml) - Html - \n\n
                CSharpCode - (603:34,1 [56] CSharp8.cshtml)
                    IntermediateToken - (603:34,1 [56] CSharp8.cshtml) - CSharp - await foreach (var val in GetAsyncEnumerable())\n{\n    
                CSharpExpression - (660:36,5 [3] CSharp8.cshtml)
                    IntermediateToken - (660:36,5 [3] CSharp8.cshtml) - CSharp - val
                CSharpCode - (663:36,8 [3] CSharp8.cshtml)
                    IntermediateToken - (663:36,8 [3] CSharp8.cshtml) - CSharp - \n}
                HtmlContent - (666:37,1 [4] CSharp8.cshtml)
                    IntermediateToken - (666:37,1 [4] CSharp8.cshtml) - Html - \n\n
                CSharpExpression - (671:39,1 [12] CSharp8.cshtml)
                    IntermediateToken - (671:39,1 [12] CSharp8.cshtml) - CSharp - Person!.Name
                HtmlContent - (683:39,13 [2] CSharp8.cshtml)
                    IntermediateToken - (683:39,13 [2] CSharp8.cshtml) - Html - \n
                CSharpExpression - (686:40,1 [20] CSharp8.cshtml)
                    IntermediateToken - (686:40,1 [20] CSharp8.cshtml) - CSharp - People![0]!.Name![1]
                HtmlContent - (706:40,21 [2] CSharp8.cshtml)
                    IntermediateToken - (706:40,21 [2] CSharp8.cshtml) - Html - \n
                CSharpExpression - (709:41,1 [21] CSharp8.cshtml)
                    IntermediateToken - (709:41,1 [21] CSharp8.cshtml) - CSharp - DoSomething!(Person!)
                HtmlContent - (730:41,22 [4] CSharp8.cshtml)
                    IntermediateToken - (730:41,22 [4] CSharp8.cshtml) - Html - \n\n
            CSharpCode - (746:43,12 [480] CSharp8.cshtml)
                IntermediateToken - (746:43,12 [480] CSharp8.cshtml) - CSharp - \n    enum TestEnum\n    {\n        First,\n        Second\n    }\n\n    IDisposable GetLastDisposableInRange(Range range)\n    {\n        var disposables = (IDisposable[])ViewData["disposables"];\n        return disposables[range][^1];\n    }\n\n    private Human? Person { get; set; }\n\n    private Human?[]? People { get; set; }\n\n    private Func<Human, string>? DoSomething { get; set; }\n\n    private class Human\n    {\n        public string? Name { get; set; }\n    }\n
