Fix template expressions for dotnet

This commit is contained in:
Vivek Lakshmanan 2021-02-05 14:45:25 -08:00
parent d3187d630f
commit 91a14c3637

View file

@ -519,16 +519,21 @@ func (g *generator) GenSplatExpression(w io.Writer, expr *model.SplatExpression)
func (g *generator) GenTemplateExpression(w io.Writer, expr *model.TemplateExpression) {
multiLine := false
expressions := false
hasOutput := false
for _, expr := range expr.Parts {
if lit, ok := expr.(*model.LiteralValueExpression); ok && lit.Type() == model.StringType {
if strings.Contains(lit.Value.AsString(), "\n") {
multiLine = true
}
} else {
hasOutput = true
expressions = true
}
}
if hasOutput {
g.Fgen(w, "Output.Format(")
}
if multiLine {
g.Fgen(w, "@")
}
@ -544,6 +549,9 @@ func (g *generator) GenTemplateExpression(w io.Writer, expr *model.TemplateExpre
}
}
g.Fgen(w, "\"")
if hasOutput {
g.Fgen(w, ")")
}
}
func (g *generator) GenTemplateJoinExpression(w io.Writer, expr *model.TemplateJoinExpression) {