﻿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_SingleLineControlFlowStatements - global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic> - 
            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
                HtmlContent - (0:0,0 [22] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (0:0,0 [2] SingleLineControlFlowStatements.cshtml) - Html - <p
                    LazyIntermediateToken - (2:0,2 [1] SingleLineControlFlowStatements.cshtml) - Html - >
                    LazyIntermediateToken - (3:0,3 [11] SingleLineControlFlowStatements.cshtml) - Html - Before Text
                    LazyIntermediateToken - (14:0,14 [4] SingleLineControlFlowStatements.cshtml) - Html - </p>
                    LazyIntermediateToken - (18:0,18 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (24:2,2 [44] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (24:2,2 [44] SingleLineControlFlowStatements.cshtml) - CSharp - \n    if (DateTime.Now.ToBinary() % 2 == 0) 
                CSharpExpression - (70:3,44 [32] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (70:3,44 [32] SingleLineControlFlowStatements.cshtml) - CSharp - "Current time is divisible by 2"
                CSharpCode - (103:3,77 [6] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (103:3,77 [6] SingleLineControlFlowStatements.cshtml) - CSharp -  else 
                CSharpExpression - (110:3,84 [12] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (110:3,84 [12] SingleLineControlFlowStatements.cshtml) - CSharp - DateTime.Now
                CSharpCode - (122:3,96 [381] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (122:3,96 [381] SingleLineControlFlowStatements.cshtml) - CSharp - \n\n    object Bar()\n    {\n        if (DateTime.Now.ToBinary() % 2 == 0)\n            return "Current time is divisible by 2";\n        else if (DateTime.Now.ToBinary() % 3 == 0)\n            return "Current time is divisible by 3";\n        else\n            return DateTime.Now;\n    }\n\n    for (var i = 0; i < 10; i++)\n        // Incrementing a number\n        i--;\n\n    
                CSharpCode - (504:19,5 [47] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (504:19,5 [47] SingleLineControlFlowStatements.cshtml) - CSharp - foreach (var item in new[] {"hello"})\n        
                CSharpExpression - (552:20,9 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (552:20,9 [4] SingleLineControlFlowStatements.cshtml) - CSharp - item
                CSharpCode - (556:20,13 [0] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (556:20,13 [0] SingleLineControlFlowStatements.cshtml) - CSharp - 
                CSharpCode - (556:20,13 [20] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (556:20,13 [20] SingleLineControlFlowStatements.cshtml) - CSharp - \n\n    do\n        
                CSharpExpression - (577:23,9 [12] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (577:23,9 [12] SingleLineControlFlowStatements.cshtml) - CSharp - currentCount
                CSharpCode - (589:23,21 [174] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (589:23,21 [174] SingleLineControlFlowStatements.cshtml) - CSharp - \n    while (--currentCount >= 0);\n\n    while (--currentCount <= 10)\n        currentCount++;\n\n    using (var reader = new System.IO.StreamReader("/something"))\n        
                CSharpExpression - (764:30,9 [18] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (764:30,9 [18] SingleLineControlFlowStatements.cshtml) - CSharp - reader.ReadToEnd()
                CSharpCode - (782:30,27 [8] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (782:30,27 [8] SingleLineControlFlowStatements.cshtml) - CSharp - \n\n    
                CSharpCode - (791:32,5 [36] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (791:32,5 [36] SingleLineControlFlowStatements.cshtml) - CSharp - lock (this)\n        currentCount++;
                CSharpCode - (827:33,23 [2] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (827:33,23 [2] SingleLineControlFlowStatements.cshtml) - CSharp - \n
                HtmlContent - (832:35,0 [2] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (832:35,0 [2] SingleLineControlFlowStatements.cshtml) - Html - \n
                HtmlContent - (1669:74,1 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1669:74,1 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (1674:76,1 [34] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1674:76,1 [34] SingleLineControlFlowStatements.cshtml) - CSharp - for (var i = 0; i < 10; i++)\n    
                CSharpExpression - (1709:77,5 [1] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1709:77,5 [1] SingleLineControlFlowStatements.cshtml) - CSharp - i
                CSharpCode - (1710:77,6 [0] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1710:77,6 [0] SingleLineControlFlowStatements.cshtml) - CSharp - 
                HtmlContent - (1710:77,6 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1710:77,6 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (1715:79,1 [43] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1715:79,1 [43] SingleLineControlFlowStatements.cshtml) - CSharp - foreach (var item in new[] {"hello"})\n    
                CSharpExpression - (1759:80,5 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1759:80,5 [4] SingleLineControlFlowStatements.cshtml) - CSharp - item
                CSharpCode - (1763:80,9 [0] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1763:80,9 [0] SingleLineControlFlowStatements.cshtml) - CSharp - 
                HtmlContent - (1763:80,9 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1763:80,9 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (1768:82,1 [8] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1768:82,1 [8] SingleLineControlFlowStatements.cshtml) - CSharp - do\n    
                CSharpExpression - (1777:83,5 [12] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1777:83,5 [12] SingleLineControlFlowStatements.cshtml) - CSharp - currentCount
                CSharpCode - (1789:83,17 [30] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1789:83,17 [30] SingleLineControlFlowStatements.cshtml) - CSharp - \nwhile (--currentCount >= 0);
                HtmlContent - (1819:84,28 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1819:84,28 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (1824:86,1 [49] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1824:86,1 [49] SingleLineControlFlowStatements.cshtml) - CSharp - while (--currentCount <= 10)\n    currentCount++;
                HtmlContent - (1873:87,19 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1873:87,19 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (1878:89,1 [99] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1878:89,1 [99] SingleLineControlFlowStatements.cshtml) - CSharp - using (var reader = new System.IO.StreamReader("/something"))\n    // Reading the entire file\n    
                CSharpExpression - (1978:91,5 [18] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1978:91,5 [18] SingleLineControlFlowStatements.cshtml) - CSharp - reader.ReadToEnd()
                CSharpCode - (1996:91,23 [0] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1996:91,23 [0] SingleLineControlFlowStatements.cshtml) - CSharp - 
                HtmlContent - (1996:91,23 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (1996:91,23 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (2001:93,1 [32] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2001:93,1 [32] SingleLineControlFlowStatements.cshtml) - CSharp - lock (this)\n    currentCount++;
                HtmlContent - (2033:94,19 [4] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2033:94,19 [4] SingleLineControlFlowStatements.cshtml) - Html - \n\n
                CSharpCode - (2038:96,1 [10] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2038:96,1 [10] SingleLineControlFlowStatements.cshtml) - CSharp - if (true) 
                CSharpCode - (2049:96,12 [33] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2049:96,12 [33] SingleLineControlFlowStatements.cshtml) - CSharp - @GitHubUserName <p>Hello!</p>\n\n
                CSharpCode - (2083:98,1 [16] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2083:98,1 [16] SingleLineControlFlowStatements.cshtml) - CSharp - if (true) \n    
                HtmlContent - (2101:99,6 [16] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2101:99,6 [16] SingleLineControlFlowStatements.cshtml) - Html -  <p>The time is 
                CSharpExpression - (2118:99,23 [12] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2118:99,23 [12] SingleLineControlFlowStatements.cshtml) - CSharp - DateTime.Now
                HtmlContent - (2130:99,35 [6] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2130:99,35 [6] SingleLineControlFlowStatements.cshtml) - Html - </p>\n
                CSharpCode - (2136:100,0 [0] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2136:100,0 [0] SingleLineControlFlowStatements.cshtml) - CSharp - 
                HtmlContent - (2136:100,0 [19] SingleLineControlFlowStatements.cshtml)
                    LazyIntermediateToken - (2136:100,0 [2] SingleLineControlFlowStatements.cshtml) - Html - \n
                    LazyIntermediateToken - (2138:101,0 [2] SingleLineControlFlowStatements.cshtml) - Html - <p
                    LazyIntermediateToken - (2140:101,2 [1] SingleLineControlFlowStatements.cshtml) - Html - >
                    LazyIntermediateToken - (2141:101,3 [10] SingleLineControlFlowStatements.cshtml) - Html - After Text
                    LazyIntermediateToken - (2151:101,13 [4] SingleLineControlFlowStatements.cshtml) - Html - </p>
            CSharpCode - (846:36,12 [386] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (846:36,12 [386] SingleLineControlFlowStatements.cshtml) - CSharp - \n    public string Foo()\n    {\n        var x = "";\n\n        if (DateTime.Now.ToBinary() % 2 == 0)\n            return "Current time is divisible by 2";\n        else\n            return "It isn't divisible by two";\n        \n        for (var i = 0; i < 10; i++)\n            // Incrementing a number\n            i--;\n\n        foreach (var item in new[] {"hello"})\n            
            CSharpExpression - (1233:51,13 [4] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (1233:51,13 [4] SingleLineControlFlowStatements.cshtml) - CSharp - item
            CSharpCode - (1237:51,17 [28] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (1237:51,17 [28] SingleLineControlFlowStatements.cshtml) - CSharp - \n\n        do\n            
            CSharpExpression - (1266:54,13 [12] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (1266:54,13 [12] SingleLineControlFlowStatements.cshtml) - CSharp - currentCount
            CSharpCode - (1278:54,25 [194] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (1278:54,25 [194] SingleLineControlFlowStatements.cshtml) - CSharp - \n        while (--currentCount >= 0);\n\n        while (--currentCount <= 10)\n            currentCount++;\n\n        using (var reader = new System.IO.StreamReader("/something"))\n            
            CSharpExpression - (1473:61,13 [18] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (1473:61,13 [18] SingleLineControlFlowStatements.cshtml) - CSharp - reader.ReadToEnd()
            CSharpCode - (1491:61,31 [177] SingleLineControlFlowStatements.cshtml)
                LazyIntermediateToken - (1491:61,31 [177] SingleLineControlFlowStatements.cshtml) - CSharp - \n\n        lock (this)\n            currentCount++;\n    }\n\n    int currentCount = 0;\n\n    public void IncrementCount()\n    {\n        if (true) currentCount++;\n    }\n\n
            Inject - 
            Inject - 
            Inject - 
            Inject - 
            Inject - 
