ChainNode holds a term followed by a chain of field accesses (identifier starting with '.'). The names may be chained ('.x.y'). The periods are dropped from each ident.
| 556 | // The names may be chained ('.x.y'). |
| 557 | // The periods are dropped from each ident. |
| 558 | type ChainNode struct { |
| 559 | NodeType |
| 560 | Pos |
| 561 | tr *Tree |
| 562 | Node Node |
| 563 | Field []string // The identifiers in lexical order. |
| 564 | } |
| 565 | |
| 566 | func (t *Tree) newChain(pos Pos, node Node) *ChainNode { |
| 567 | return &ChainNode{tr: t, NodeType: NodeChain, Pos: pos, Node: node} |
nothing calls this directly
no outgoing calls
no test coverage detected