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

Method parseReturnStatement

parser/statement.go:468–488  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

466}
467
468func (self *_parser) parseReturnStatement() ast.Statement {
469 idx := self.expect(token.RETURN)
470
471 if !self.scope.inFunction {
472 self.error(idx, "Illegal return statement")
473 self.nextStatement()
474 return &ast.BadStatement{From: idx, To: self.idx}
475 }
476
477 node := &ast.ReturnStatement{
478 Return: idx,
479 }
480
481 if !self.implicitSemicolon && self.token != token.SEMICOLON && self.token != token.RIGHT_BRACE && self.token != token.EOF {
482 node.Argument = self.parseExpression()
483 }
484
485 self.semicolon()
486
487 return node
488}
489
490func (self *_parser) parseThrowStatement() ast.Statement {
491 idx := self.expect(token.THROW)

Callers 1

parseStatementMethod · 0.95

Calls 5

expectMethod · 0.95
errorMethod · 0.95
nextStatementMethod · 0.95
parseExpressionMethod · 0.95
semicolonMethod · 0.95

Tested by

no test coverage detected