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

Method parseSuperProperty

parser/expression.go:113–149  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

111}
112
113func (self *_parser) parseSuperProperty() ast.Expression {
114 idx := self.idx
115 self.next()
116 switch self.token {
117 case token.PERIOD:
118 self.next()
119 if !token.IsId(self.token) {
120 self.expect(token.IDENTIFIER)
121 self.nextStatement()
122 return &ast.BadExpression{From: idx, To: self.idx}
123 }
124 idIdx := self.idx
125 parsedLiteral := self.parsedLiteral
126 self.next()
127 return &ast.DotExpression{
128 Left: &ast.SuperExpression{
129 Idx: idx,
130 },
131 Identifier: ast.Identifier{
132 Name: parsedLiteral,
133 Idx: idIdx,
134 },
135 }
136 case token.LEFT_BRACKET:
137 return self.parseBracketMember(&ast.SuperExpression{
138 Idx: idx,
139 })
140 case token.LEFT_PARENTHESIS:
141 return self.parseCallExpression(&ast.SuperExpression{
142 Idx: idx,
143 })
144 default:
145 self.error(idx, "'super' keyword unexpected here")
146 self.nextStatement()
147 return &ast.BadExpression{From: idx, To: self.idx}
148 }
149}
150
151func (self *_parser) reinterpretSequenceAsArrowFuncParams(list []ast.Expression) *ast.ParameterList {
152 firstRestIdx := -1

Callers 1

Calls 7

nextMethod · 0.95
expectMethod · 0.95
nextStatementMethod · 0.95
parseBracketMemberMethod · 0.95
parseCallExpressionMethod · 0.95
errorMethod · 0.95
IsIdFunction · 0.92

Tested by

no test coverage detected