(token Token)
| 698 | } |
| 699 | |
| 700 | func (p *Parser) parseArrayExpression(token Token) Node { |
| 701 | nodes := make([]Node, 0) |
| 702 | |
| 703 | p.expect(Bracket, "[") |
| 704 | for !p.current.Is(Bracket, "]") && p.err == nil { |
| 705 | if len(nodes) > 0 { |
| 706 | p.expect(Operator, ",") |
| 707 | if p.current.Is(Bracket, "]") { |
| 708 | goto end |
| 709 | } |
| 710 | } |
| 711 | node := p.parseExpression(0) |
| 712 | nodes = append(nodes, node) |
| 713 | } |
| 714 | end: |
| 715 | p.expect(Bracket, "]") |
| 716 | |
| 717 | node := p.createNode(&ArrayNode{Nodes: nodes}, token.Location) |
| 718 | if node == nil { |
| 719 | return nil |
| 720 | } |
| 721 | return node |
| 722 | } |
| 723 | |
| 724 | func (p *Parser) parseMapExpression(token Token) Node { |
| 725 | p.expect(Bracket, "{") |
no test coverage detected