MCPcopy Create free account
hub / github.com/dop251/goja / parseDotMember

Method parseDotMember

parser/expression.go:645–680  ·  view source on GitHub ↗
(left ast.Expression)

Source from the content-addressed store, hash-verified

643}
644
645func (self *_parser) parseDotMember(left ast.Expression) ast.Expression {
646 period := self.idx
647 self.next()
648
649 literal := self.parsedLiteral
650 idx := self.idx
651
652 if self.token == token.PRIVATE_IDENTIFIER {
653 self.next()
654 return &ast.PrivateDotExpression{
655 Left: left,
656 Identifier: ast.PrivateIdentifier{
657 Identifier: ast.Identifier{
658 Idx: idx,
659 Name: literal,
660 },
661 },
662 }
663 }
664
665 if !token.IsId(self.token) {
666 self.expect(token.IDENTIFIER)
667 self.nextStatement()
668 return &ast.BadExpression{From: period, To: self.idx}
669 }
670
671 self.next()
672
673 return &ast.DotExpression{
674 Left: left,
675 Identifier: ast.Identifier{
676 Idx: idx,
677 Name: literal,
678 },
679 }
680}
681
682func (self *_parser) parseBracketMember(left ast.Expression) ast.Expression {
683 idx0 := self.expect(token.LEFT_BRACKET)

Calls 4

nextMethod · 0.95
expectMethod · 0.95
nextStatementMethod · 0.95
IsIdFunction · 0.92

Tested by

no test coverage detected