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();
}