Home | History | Annotate | Download | only in template

Lines Matching refs:parse

15 	"text/template/parse"
24 node parse.Node // current node, for errors
68 func (s *state) at(node parse.Node) {
94 // level of Parse.
174 func (s *state) walk(dot reflect.Value, node parse.Node) {
177 case *parse.ActionNode:
184 case *parse.IfNode:
185 s.walkIfOrWith(parse.NodeIf, dot, node.Pipe, node.List, node.ElseList)
186 case *parse.ListNode:
190 case *parse.RangeNode:
192 case *parse.TemplateNode:
194 case *parse.TextNode:
198 case *parse.WithNode:
199 s.walkIfOrWith(parse.NodeWith, dot, node.Pipe, node.List, node.ElseList)
207 func (s *state) walkIfOrWith(typ parse.NodeType, dot reflect.Value, pipe *parse.PipeNode, list, elseList *parse.ListNode) {
215 if typ == parse.NodeWith {
255 func (s *state) walkRange(dot reflect.Value, r *parse.RangeNode) {
316 func (s *state) walkTemplate(dot reflect.Value, t *parse.TemplateNode) {
339 func (s *state) evalPipeline(dot reflect.Value, pipe *parse.PipeNode) (value reflect.Value) {
357 func (s *state) notAFunction(args []parse.Node, final reflect.Value) {
363 func (s *state) evalCommand(dot reflect.Value, cmd *parse.CommandNode, final reflect.Value) reflect.Value {
366 case *parse.FieldNode:
368 case *parse.ChainNode:
370 case *parse.IdentifierNode:
373 case *parse.PipeNode:
376 case *parse.VariableNode:
382 case *parse.BoolNode:
384 case *parse.DotNode:
386 case *parse.NilNode:
388 case *parse.NumberNode:
390 case *parse.StringNode:
401 func (s *state) idealConstant(constant *parse.NumberNode) reflect.Value {
427 func (s *state) evalFieldNode(dot reflect.Value, field *parse.FieldNode, args []parse.Node, final reflect.Value) reflect.Value {
432 func (s *state) evalChainNode(dot reflect.Value, chain *parse.ChainNode, args []parse.Node, final reflect.Value) reflect.Value {
437 if chain.Node.Type() == parse.NodeNil {
445 func (s *state) evalVariableNode(dot reflect.Value, variable *parse.VariableNode, args []parse.Node, final reflect.Value) reflect.Value {
459 func (s *state) evalFieldChain(dot, receiver reflect.Value, node parse.Node, ident []string, args []parse.Node, final reflect.Value) reflect.Value {
468 func (s *state) evalFunction(dot reflect.Value, node *parse.IdentifierNode, cmd parse.Node, args []parse.Node, final reflect.Value) reflect.Value {
481 func (s *state) evalField(dot reflect.Value, fieldName string, node parse.Node, args []parse.Node, final, receiver reflect.Value) reflect.Value {
550 func (s *state) evalCall(dot, fun reflect.Value, node parse.Node, name string, args []parse.Node, final reflect.Value) reflect.Value {
656 func (s *state) evalArg(dot reflect.Value, typ reflect.Type, n parse.Node) reflect.Value {
659 case *parse.DotNode:
661 case *parse.NilNode:
666 case *parse.FieldNode:
667 return s.validateType(s.evalFieldNode(dot, arg, []parse.Node{n}, zero), typ)
668 case *parse.VariableNode:
670 case *parse.PipeNode:
672 case *parse.IdentifierNode:
674 case *parse.ChainNode:
699 func (s *state) evalBool(typ reflect.Type, n parse.Node) reflect.Value {
701 if n, ok := n.(*parse.BoolNode); ok {
710 func (s *state) evalString(typ reflect.Type, n parse.Node) reflect.Value {
712 if n, ok := n.(*parse.StringNode); ok {
721 func (s *state) evalInteger(typ reflect.Type, n parse.Node) reflect.Value {
723 if n, ok := n.(*parse.NumberNode); ok && n.IsInt {
732 func (s *state) evalUnsignedInteger(typ reflect.Type, n parse.Node) reflect.Value {
734 if n, ok := n.(*parse.NumberNode); ok && n.IsUint {
743 func (s *state) evalFloat(typ reflect.Type, n parse.Node) reflect.Value {
745 if n, ok := n.(*parse.NumberNode); ok && n.IsFloat {
754 func (s *state) evalComplex(typ reflect.Type, n parse.Node) reflect.Value {
755 if n, ok := n.(*parse.NumberNode); ok && n.IsComplex {
764 func (s *state) evalEmptyInterface(dot reflect.Value, n parse.Node) reflect.Value {
767 case *parse.BoolNode:
769 case *parse.DotNode:
771 case *parse.FieldNode:
773 case *parse.IdentifierNode:
775 case *parse.NilNode:
778 case *parse.NumberNode:
780 case *parse.StringNode:
782 case *parse.VariableNode:
784 case *parse.PipeNode:
808 func (s *state) printValue(n parse.Node, v reflect.Value) {