MCPcopy Create free account
hub / github.com/InoriRus/Kyty / statement

Function statement

source/3rdparty/lua/src/lparser.c:1529–1595  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1527
1528
1529static void statement (LexState *ls) {
1530 int line = ls->linenumber; /* may be needed for error messages */
1531 enterlevel(ls);
1532 switch (ls->t.token) {
1533 case ';': { /* stat -> ';' (empty statement) */
1534 luaX_next(ls); /* skip ';' */
1535 break;
1536 }
1537 case TK_IF: { /* stat -> ifstat */
1538 ifstat(ls, line);
1539 break;
1540 }
1541 case TK_WHILE: { /* stat -> whilestat */
1542 whilestat(ls, line);
1543 break;
1544 }
1545 case TK_DO: { /* stat -> DO block END */
1546 luaX_next(ls); /* skip DO */
1547 block(ls);
1548 check_match(ls, TK_END, TK_DO, line);
1549 break;
1550 }
1551 case TK_FOR: { /* stat -> forstat */
1552 forstat(ls, line);
1553 break;
1554 }
1555 case TK_REPEAT: { /* stat -> repeatstat */
1556 repeatstat(ls, line);
1557 break;
1558 }
1559 case TK_FUNCTION: { /* stat -> funcstat */
1560 funcstat(ls, line);
1561 break;
1562 }
1563 case TK_LOCAL: { /* stat -> localstat */
1564 luaX_next(ls); /* skip LOCAL */
1565 if (testnext(ls, TK_FUNCTION)) /* local function? */
1566 localfunc(ls);
1567 else
1568 localstat(ls);
1569 break;
1570 }
1571 case TK_DBCOLON: { /* stat -> label */
1572 luaX_next(ls); /* skip double colon */
1573 labelstat(ls, str_checkname(ls), line);
1574 break;
1575 }
1576 case TK_RETURN: { /* stat -> retstat */
1577 luaX_next(ls); /* skip RETURN */
1578 retstat(ls);
1579 break;
1580 }
1581 case TK_BREAK: /* stat -> breakstat */
1582 case TK_GOTO: { /* stat -> 'goto' NAME */
1583 gotostat(ls, luaK_jump(ls->fs));
1584 break;
1585 }
1586 default: { /* stat -> func | assignment */

Callers 4

PassedMethod · 0.85
statement_no_indentMethod · 0.85
statlistFunction · 0.85
skipnoopstatFunction · 0.85

Calls 15

enterlevelFunction · 0.85
luaX_nextFunction · 0.85
ifstatFunction · 0.85
whilestatFunction · 0.85
blockFunction · 0.85
check_matchFunction · 0.85
forstatFunction · 0.85
repeatstatFunction · 0.85
funcstatFunction · 0.85
testnextFunction · 0.85
localfuncFunction · 0.85
localstatFunction · 0.85

Tested by 1

PassedMethod · 0.68