MCPcopy Index your code
hub / github.com/Shopify/go-lua / statement

Method statement

parser.go:604–645  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

602}
603
604func (p *parser) statement() {
605 line := p.lineNumber
606 p.enterLevel()
607 switch p.t {
608 case ';':
609 p.next()
610 case tkIf:
611 p.ifStatement(line)
612 case tkWhile:
613 p.whileStatement(line)
614 case tkDo:
615 p.next()
616 p.block()
617 p.checkMatch(tkEnd, tkDo, line)
618 case tkFor:
619 p.forStatement(line)
620 case tkRepeat:
621 p.repeatStatement(line)
622 case tkFunction:
623 p.functionStatement(line)
624 case tkLocal:
625 p.next()
626 if p.testNext(tkFunction) {
627 p.localFunction()
628 } else {
629 p.localStatement()
630 }
631 case tkDoubleColon:
632 p.next()
633 p.labelStatement(p.checkName(), line)
634 case tkReturn:
635 p.next()
636 p.returnStatement()
637 case tkBreak, tkGoto:
638 p.gotoStatement(p.function.Jump())
639 default:
640 p.expressionStatement()
641 }
642 p.assert(p.function.f.maxStackSize >= p.function.freeRegisterCount && p.function.freeRegisterCount >= p.function.activeVariableCount)
643 p.function.freeRegisterCount = p.function.activeVariableCount
644 p.leaveLevel()
645}
646
647func (p *parser) mainFunction() {
648 p.function.OpenMainFunction()

Callers 2

statementListMethod · 0.95
skipEmptyStatementsMethod · 0.95

Calls 15

enterLevelMethod · 0.95
ifStatementMethod · 0.95
whileStatementMethod · 0.95
blockMethod · 0.95
forStatementMethod · 0.95
repeatStatementMethod · 0.95
functionStatementMethod · 0.95
localFunctionMethod · 0.95
localStatementMethod · 0.95
labelStatementMethod · 0.95
checkNameMethod · 0.95
returnStatementMethod · 0.95

Tested by

no test coverage detected