()
| 111 | } |
| 112 | |
| 113 | func (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 | |
| 151 | func (self *_parser) reinterpretSequenceAsArrowFuncParams(list []ast.Expression) *ast.ParameterList { |
| 152 | firstRestIdx := -1 |
no test coverage detected