type text/template/parse.Node
85 uses
text/template/parse (current package)
node.go#L20: type Node interface {
node.go#L26: Copy() Node
node.go#L85: Nodes []Node // The element nodes in lexical order.
node.go#L92: func (l *ListNode) append(n Node) {
node.go#L123: func (l *ListNode) Copy() Node {
node.go#L151: func (t *TextNode) Copy() Node {
node.go#L183: func (c *CommentNode) Copy() Node {
node.go#L254: func (p *PipeNode) Copy() Node {
node.go#L289: func (a *ActionNode) Copy() Node {
node.go#L298: Args []Node // Arguments in lexical order: Identifier, field, or constant.
node.go#L305: func (c *CommandNode) append(arg Node) {
node.go#L334: func (c *CommandNode) Copy() Node {
node.go#L386: func (i *IdentifierNode) Copy() Node {
node.go#L422: func (v *VariableNode) Copy() Node {
node.go#L456: func (d *DotNode) Copy() Node {
node.go#L490: func (n *NilNode) Copy() Node {
node.go#L525: func (f *FieldNode) Copy() Node {
node.go#L536: Node Node
node.go#L540: func (t *Tree) newChain(pos Pos, node Node) *ChainNode {
node.go#L580: func (c *ChainNode) Copy() Node {
node.go#L611: func (b *BoolNode) Copy() Node {
node.go#L748: func (n *NumberNode) Copy() Node {
node.go#L779: func (s *StringNode) Copy() Node {
node.go#L807: func (e *endNode) Copy() Node {
node.go#L839: func (e *elseNode) Copy() Node {
node.go#L889: func (b *BranchNode) Copy() Node {
node.go#L911: func (i *IfNode) Copy() Node {
node.go#L927: func (b *BreakNode) Copy() Node { return b.tr.newBreak(b.Pos, b.Line) }
node.go#L944: func (c *ContinueNode) Copy() Node { return c.tr.newContinue(c.Pos, c.Line) }
node.go#L958: func (r *RangeNode) Copy() Node {
node.go#L971: func (w *WithNode) Copy() Node {
node.go#L1009: func (t *TemplateNode) Copy() Node {
parse.go#L141: func (t *Tree) ErrorContext(n Node) (location, context string) {
parse.go#L270: func IsEmptyTree(n Node) bool {
parse.go#L336: var end Node
parse.go#L350: func (t *Tree) itemList() (list *ListNode, next Node) {
parse.go#L367: func (t *Tree) textOrAction() Node {
parse.go#L394: func (t *Tree) action() (n Node) {
parse.go#L426: func (t *Tree) breakControl(pos Pos, line int) Node {
parse.go#L441: func (t *Tree) continueControl(pos Pos, line int) Node {
parse.go#L530: var next Node
parse.go#L572: func (t *Tree) ifControl() Node {
parse.go#L582: func (t *Tree) rangeControl() Node {
parse.go#L593: func (t *Tree) withControl() Node {
parse.go#L602: func (t *Tree) endControl() Node {
parse.go#L611: func (t *Tree) elseControl() Node {
parse.go#L630: func (t *Tree) blockControl() Node {
parse.go#L642: var end Node
parse.go#L659: func (t *Tree) templateControl() Node {
parse.go#L725: func (t *Tree) operand() Node {
parse.go#L765: func (t *Tree) term() Node {
parse.go#L822: func (t *Tree) useVar(pos Pos, name string) Node {
text/template
exec.go#L37: node parse.Node // current node, for errors
exec.go#L104: func (s *state) at(node parse.Node) {
exec.go#L261: func (s *state) walk(dot reflect.Value, node parse.Node) {
exec.go#L548: func (s *state) notAFunction(args []parse.Node, final reflect.Value) {
exec.go#L628: func (s *state) evalFieldNode(dot reflect.Value, field *parse.FieldNode, args []parse.Node, final reflect.Value) reflect.Value {
exec.go#L633: func (s *state) evalChainNode(dot reflect.Value, chain *parse.ChainNode, args []parse.Node, final reflect.Value) reflect.Value {
exec.go#L646: func (s *state) evalVariableNode(dot reflect.Value, variable *parse.VariableNode, args []parse.Node, final reflect.Value) reflect.Value {
exec.go#L660: func (s *state) evalFieldChain(dot, receiver reflect.Value, node parse.Node, ident []string, args []parse.Node, final reflect.Value) reflect.Value {
exec.go#L669: func (s *state) evalFunction(dot reflect.Value, node *parse.IdentifierNode, cmd parse.Node, args []parse.Node, final reflect.Value) reflect.Value {
exec.go#L682: func (s *state) evalField(dot reflect.Value, fieldName string, node parse.Node, args []parse.Node, final, receiver reflect.Value) reflect.Value {
exec.go#L772: func (s *state) evalCall(dot, fun reflect.Value, isBuiltin bool, node parse.Node, name string, args []parse.Node, final reflect.Value) reflect.Value {
exec.go#L934: func (s *state) evalArg(dot reflect.Value, typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L945: return s.validateType(s.evalFieldNode(dot, arg, []parse.Node{n}, missingVal), typ)
exec.go#L981: func (s *state) evalBool(typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L992: func (s *state) evalString(typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L1003: func (s *state) evalInteger(typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L1014: func (s *state) evalUnsignedInteger(typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L1025: func (s *state) evalFloat(typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L1036: func (s *state) evalComplex(typ reflect.Type, n parse.Node) reflect.Value {
exec.go#L1046: func (s *state) evalEmptyInterface(dot reflect.Value, n parse.Node) reflect.Value {
exec.go#L1101: func (s *state) printValue(n parse.Node, v reflect.Value) {
html/template
context.go#L31: n parse.Node // for range break/continue
error.go#L18: Node parse.Node
error.go#L246: func errorf(k ErrorCode, node parse.Node, line int, f string, args ...any) *Error {
escape.go#L24: func escapeTemplate(tmpl *Template, node parse.Node, name string) error {
escape.go#L137: func (e *escaper) escape(c context, n parse.Node) context {
escape.go#L417: Args: []parse.Node{parse.NewIdentifier(identifier).SetTree(nil).SetPos(pos)}, // TODO: SetTree.
escape.go#L457: func join(a, b context, node parse.Node, nodeName string) context {
escape.go#L624: func (e *escaper) escapeTree(c context, node parse.Node, name string, line int) (context, string) {