CompiledHandlebars.Compiler.CodeGeneration.CompilationState.GetCompilationUnitHandlebarsLayout C# (CSharp) Метод

GetCompilationUnitHandlebarsLayout() приватный Метод

private GetCompilationUnitHandlebarsLayout ( ) : Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax
Результат Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax
    internal CompilationUnitSyntax GetCompilationUnitHandlebarsLayout()
    {
      //Two Lists of StatementSyntax for the body of two render methods
      if (resultStack.Count == 2)
      {
        var additionalMemberSyntax = GetAdditionalMembers();
        var usingsSyntax = GetUsingDirectives();
        return SyntaxFactory.CompilationUnit()
        .AddUsings(
          usingsSyntax.ToArray()
        )
        .AddMembers(
          SyntaxHelper.HandlebarsNamespace(Template.Namespace)
            .AddMembers(
              SyntaxHelper.CompiledHandlebarsClassDeclaration(Template.Name, StringConstants.LAYOUTATTRIBUTE)
                .AddMembers(
                  SyntaxHelper.RenderWithParameter(Template.ModelFullyQualifiedName.ToString(), "PostRender")
                    .AddBodyStatements(
                      resultStack.Pop().ToArray()
                    ),
                  SyntaxHelper.RenderWithParameter(Template.ModelFullyQualifiedName.ToString(), "PreRender")
                    .AddBodyStatements(
                      resultStack.Pop().ToArray()
                    )
                ).AddMembers(
                  additionalMemberSyntax.ToArray()
                )
            )
        );
      }
      return SyntaxFactory.CompilationUnit();
    }