()
| 1683 | } |
| 1684 | |
| 1685 | func (p *Parser) parseObjectBindingElement() *ast.Node { |
| 1686 | pos := p.nodePos() |
| 1687 | dotDotDotToken := p.parseOptionalToken(ast.KindDotDotDotToken) |
| 1688 | tokenIsIdentifier := p.isBindingIdentifier() |
| 1689 | propertyName := p.parsePropertyName() |
| 1690 | var name *ast.Node |
| 1691 | if tokenIsIdentifier && p.token != ast.KindColonToken { |
| 1692 | name = propertyName |
| 1693 | propertyName = nil |
| 1694 | } else { |
| 1695 | p.parseExpected(ast.KindColonToken) |
| 1696 | name = p.parseIdentifierOrPattern() |
| 1697 | } |
| 1698 | initializer := p.parseInitializer() |
| 1699 | return p.finishNode(p.factory.NewBindingElement(dotDotDotToken, propertyName, name, initializer), pos) |
| 1700 | } |
| 1701 | |
| 1702 | func (p *Parser) parseInitializer() *ast.Expression { |
| 1703 | if p.parseOptional(ast.KindEqualsToken) { |
nothing calls this directly
no test coverage detected