()
| 851 | } |
| 852 | |
| 853 | func (self *_parser) parseIfStatement() ast.Statement { |
| 854 | self.expect(token.IF) |
| 855 | self.expect(token.LEFT_PARENTHESIS) |
| 856 | node := &ast.IfStatement{ |
| 857 | Test: self.parseExpression(), |
| 858 | } |
| 859 | self.expect(token.RIGHT_PARENTHESIS) |
| 860 | |
| 861 | if self.token == token.LEFT_BRACE { |
| 862 | node.Consequent = self.parseBlockStatement() |
| 863 | } else { |
| 864 | self.scope.allowLet = false |
| 865 | node.Consequent = self.parseStatement() |
| 866 | } |
| 867 | |
| 868 | if self.token == token.ELSE { |
| 869 | self.next() |
| 870 | self.scope.allowLet = false |
| 871 | node.Alternate = self.parseStatement() |
| 872 | } |
| 873 | |
| 874 | return node |
| 875 | } |
| 876 | |
| 877 | func (self *_parser) parseSourceElements() (body []ast.Statement) { |
| 878 | for self.token != token.EOF { |
no test coverage detected