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

Method parseCaseStatement

parser/statement.go:563–589  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

561}
562
563func (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
591func (self *_parser) parseIterationStatement() ast.Statement {
592 inIteration := self.scope.inIteration

Callers 1

parseSwitchStatementMethod · 0.95

Calls 4

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

Tested by

no test coverage detected