MCPcopy Create free account
hub / github.com/microsoft/typescript-go / parseObjectBindingElement

Method parseObjectBindingElement

internal/parser/parser.go:1685–1700  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1683}
1684
1685func (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
1702func (p *Parser) parseInitializer() *ast.Expression {
1703 if p.parseOptional(ast.KindEqualsToken) {

Callers

nothing calls this directly

Calls 9

nodePosMethod · 0.95
parseOptionalTokenMethod · 0.95
isBindingIdentifierMethod · 0.95
parsePropertyNameMethod · 0.95
parseExpectedMethod · 0.95
parseInitializerMethod · 0.95
finishNodeMethod · 0.95
NewBindingElementMethod · 0.80

Tested by

no test coverage detected