CompiledHandlebars.Compiler.CodeGeneration.CompilationState.GetCompilationUnitHandlebarsTemplate C# (CSharp) Method

GetCompilationUnitHandlebarsTemplate() private method

private GetCompilationUnitHandlebarsTemplate ( ) : Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax
return Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax
    internal CompilationUnitSyntax GetCompilationUnitHandlebarsTemplate()
    {
      //One List of StatementSyntax for the body of one render method
      if (resultStack.Count == 1)
      {
        var additionalMemberSyntax = GetAdditionalMembers();
        var usingsSyntax = GetUsingDirectives();
        return SyntaxFactory.CompilationUnit()
        .AddUsings(
          usingsSyntax.ToArray()
        )
        .AddMembers(
          SyntaxHelper.HandlebarsNamespace(Template.Namespace)
            .AddMembers(
              SyntaxHelper.CompiledHandlebarsClassDeclaration(Template.Name, StringConstants.TEMPLATEATTRIBUTE)
                .AddMembers(
                  SyntaxHelper.RenderWithParameter(Template.ModelFullyQualifiedName.ToString())
                    .AddBodyStatements(
                      resultStack.Pop().ToArray()
                    )
                ).AddMembers(
                  additionalMemberSyntax.ToArray()
                )
            )
        );        
      }
      return SyntaxFactory.CompilationUnit();      
    }