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

Method parseIfStatement

parser/statement.go:853–875  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

851}
852
853func (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
877func (self *_parser) parseSourceElements() (body []ast.Statement) {
878 for self.token != token.EOF {

Callers 1

parseStatementMethod · 0.95

Calls 5

expectMethod · 0.95
parseExpressionMethod · 0.95
parseBlockStatementMethod · 0.95
parseStatementMethod · 0.95
nextMethod · 0.95

Tested by

no test coverage detected