Document - 
    NamespaceDeclaration -  - Test
        UsingDirective - (3:1,1 [14] ) - System
        UsingDirective - (18:2,1 [34] ) - System.Collections.Generic
        UsingDirective - (53:3,1 [19] ) - System.Linq
        UsingDirective - (73:4,1 [30] ) - System.Threading.Tasks
        UsingDirective - (104:5,1 [35] ) - Microsoft.AspNetCore.Blazor
        UsingDirective - (140:6,1 [46] ) - Microsoft.AspNetCore.Blazor.Components
        ClassDeclaration -  - public - TestComponent - Microsoft.AspNetCore.Blazor.Components.BlazorComponent - 
            MethodDeclaration -  - protected override - void - BuildRenderTree
                CSharpCode - 
                    IntermediateToken -  - CSharp - base.BuildRenderTree(builder);
                ComponentExtensionNode - (31:1,0 [34] x:\dir\subdir\Test\TestComponent.cshtml) - MyComponent - global::Test.MyComponent<TItem>
                    ComponentAttributeExtensionNode - (50:1,19 [1] x:\dir\subdir\Test\TestComponent.cshtml) - Item - Item
                        IntermediateToken - (50:1,19 [1] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - 3
                    RefExtensionNode - (58:1,27 [3] x:\dir\subdir\Test\TestComponent.cshtml) - _my - global::Test.MyComponent<TItem>
            CSharpCode - (81:3,12 [90] x:\dir\subdir\Test\TestComponent.cshtml)
                IntermediateToken - (81:3,12 [90] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - \n    private MyComponent<int> _my;\n    public void Foo() { System.GC.KeepAlive(_my); }\n
    NamespaceDeclaration -  - __Blazor.Test.TestComponent
        ClassDeclaration -  - internal static - TypeInference -  - 
            ComponentTypeInferenceMethod -  - __Blazor.Test.TestComponent.TypeInference - CreateMyComponent_0
