()
| 561 | } |
| 562 | |
| 563 | func (self *_parser) parseCaseStatement() *ast.CaseStatement { |
| 564 | |
| 565 | node := &ast.CaseStatement{ |
| 566 | Case: self.idx, |
| 567 | } |
| 568 | if self.token == token.DEFAULT { |
| 569 | self.next() |
| 570 | } else { |
| 571 | self.expect(token.CASE) |
| 572 | node.Test = self.parseExpression() |
| 573 | } |
| 574 | self.expect(token.COLON) |
| 575 | |
| 576 | for { |
| 577 | if self.token == token.EOF || |
| 578 | self.token == token.RIGHT_BRACE || |
| 579 | self.token == token.CASE || |
| 580 | self.token == token.DEFAULT { |
| 581 | break |
| 582 | } |
| 583 | self.scope.allowLet = true |
| 584 | node.Consequent = append(node.Consequent, self.parseStatement()) |
| 585 | |
| 586 | } |
| 587 | |
| 588 | return node |
| 589 | } |
| 590 | |
| 591 | func (self *_parser) parseIterationStatement() ast.Statement { |
| 592 | inIteration := self.scope.inIteration |
no test coverage detected