FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument )* )? ')'
(n node)
| 544 | |
| 545 | // FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument )* )? ')' |
| 546 | func (p *parser) parseMethod(n node) node { |
| 547 | var args []node |
| 548 | name := p.r.name |
| 549 | prefix := p.r.prefix |
| 550 | |
| 551 | p.skipItem(itemName) |
| 552 | p.skipItem(itemLParens) |
| 553 | if p.r.typ != itemRParens { |
| 554 | for { |
| 555 | args = append(args, p.parseExpression(n)) |
| 556 | if p.r.typ == itemRParens { |
| 557 | break |
| 558 | } |
| 559 | p.skipItem(itemComma) |
| 560 | } |
| 561 | } |
| 562 | p.skipItem(itemRParens) |
| 563 | return newFunctionNode(name, prefix, args) |
| 564 | } |
| 565 | |
| 566 | // Parse parsing the XPath express string expr and returns a tree node. |
| 567 | func parse(expr string, namespaces map[string]string) node { |
no test coverage detected