pkg/text/template: fix Execute builtin
Change-Id: I3fb79c347c2d0878ea0fdb062f53f9903bd9461a
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/2041
Reviewed-by: Marcel van Lohuizen <mpvl@google.com>
diff --git a/cue/builtins.go b/cue/builtins.go
index e435b18..fb621c3 100644
--- a/cue/builtins.go
+++ b/cue/builtins.go
@@ -1854,8 +1854,12 @@
if err != nil {
return "", err
}
+ var x interface{}
+ if err := data.Decode(&x); err != nil {
+ return "", err
+ }
buf := &bytes.Buffer{}
- if err := t.Execute(buf, data); err != nil {
+ if err := t.Execute(buf, x); err != nil {
return "", err
}
return buf.String(), nil
diff --git a/cue/gen.go b/cue/gen.go
index f2b7832..a255876 100644
--- a/cue/gen.go
+++ b/cue/gen.go
@@ -247,7 +247,7 @@
case token.VAR:
for _, spec := range x.Specs {
if ast.IsExported(spec.(*ast.ValueSpec).Names[0].Name) {
- log.Fatal("var declarations not supported")
+ log.Fatal("gen %s: var declarations not supported", filename)
}
}
printer.Fprint(g.decls, g.fset, x)
@@ -257,12 +257,12 @@
// TODO: support type declarations.
for _, spec := range x.Specs {
if ast.IsExported(spec.(*ast.TypeSpec).Name.Name) {
- log.Fatal("type declarations not supported")
+ log.Fatal("gen %s: type declarations not supported", filename)
}
}
continue
default:
- log.Fatalf("unexpected spec of type %s", x.Tok)
+ log.Fatalf("gen %s: unexpected spec of type %s", filename, x.Tok)
}
case *ast.FuncDecl:
g.genFun(x)
diff --git a/pkg/text/template/manual.go b/pkg/text/template/manual.go
index 3895917..646f5e8 100644
--- a/pkg/text/template/manual.go
+++ b/pkg/text/template/manual.go
@@ -27,8 +27,12 @@
if err != nil {
return "", err
}
+ var x interface{}
+ if err := data.Decode(&x); err != nil {
+ return "", err
+ }
buf := &bytes.Buffer{}
- if err := t.Execute(buf, data); err != nil {
+ if err := t.Execute(buf, x); err != nil {
return "", err
}
return buf.String(), nil