()
| 514 | } |
| 515 | |
| 516 | func (p *Parser) parseEntry() (*ast.Entry, error) { |
| 517 | key, err := p.matchValue() |
| 518 | if err != nil { |
| 519 | return nil, err |
| 520 | } |
| 521 | if key == nil { |
| 522 | // no match |
| 523 | return nil, nil |
| 524 | } |
| 525 | ok, err := p.lexer.match(':') |
| 526 | if err != nil { |
| 527 | |
| 528 | return nil, err |
| 529 | } |
| 530 | if !ok { |
| 531 | return nil, p.error("no colon found after map key while parsing map entry") |
| 532 | } |
| 533 | val, err := p.ParseValue() |
| 534 | if err != nil { |
| 535 | return nil, err |
| 536 | } |
| 537 | return &ast.Entry{ |
| 538 | Key: key, |
| 539 | Value: val, |
| 540 | }, nil |
| 541 | } |
| 542 | |
| 543 | func (p *Parser) matchError(name string) (*ast.Error, error) { |
| 544 | if name != "error" { |
no test coverage detected