Keep reference bindings out of template.fields, in template.refHeads
This commit is contained in:
@@ -78,14 +78,9 @@ func contained(n node) []namedNode {
|
||||
}
|
||||
}
|
||||
|
||||
// named skips a bound {/path} key: it is a render edge, not containment, so using
|
||||
// it as a path segment would report a node under a path that does not reach it.
|
||||
func named(m map[string]node) []namedNode {
|
||||
out := make([]namedNode, 0, len(m))
|
||||
for _, name := range sortedNames(m) {
|
||||
if isRef(name) {
|
||||
continue
|
||||
}
|
||||
out = append(out, namedNode{name: name, node: m[name]})
|
||||
}
|
||||
return out
|
||||
@@ -134,8 +129,8 @@ func renderEdges(n node) []renderEdge {
|
||||
var es []renderEdge
|
||||
add := func(name, operand string) {
|
||||
a := splitArm(name, n.refs)
|
||||
c, ok := n.fields[a.key]
|
||||
if !ok {
|
||||
c := n.head(a.key)
|
||||
if c == nil {
|
||||
return
|
||||
}
|
||||
for _, leaf := range pathLeaves(c, a.tail) {
|
||||
|
||||
Reference in New Issue
Block a user