MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / statement

Function statement

lua/lparser.c:1357–1413  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1355
1356
1357static int statement (LexState *ls) {
1358 int line = ls->linenumber; /* may be needed for error messages */
1359 switch (ls->t.token) {
1360 case TK_IF: { /* stat -> ifstat */
1361 ifstat(ls, line);
1362 return 0;
1363 }
1364 case TK_WHILE: { /* stat -> whilestat */
1365 whilestat(ls, line);
1366 return 0;
1367 }
1368 case TK_DO: { /* stat -> DO block END */
1369 luaX_next(ls); /* skip DO */
1370 block(ls);
1371 check_match(ls, TK_END, TK_DO, line);
1372 return 0;
1373 }
1374 case TK_FOR: { /* stat -> forstat */
1375 forstat(ls, line);
1376 return 0;
1377 }
1378 case TK_REPEAT: { /* stat -> repeatstat */
1379 repeatstat(ls, line);
1380 return 0;
1381 }
1382 case TK_FUNCTION: {
1383 funcstat(ls, line); /* stat -> funcstat */
1384 return 0;
1385 }
1386 case TK_LOCAL: { /* stat -> localstat */
1387 luaX_next(ls); /* skip LOCAL */
1388 if (testnext(ls, TK_FUNCTION)) /* local function? */
1389 localfunc(ls);
1390 else
1391 localstat(ls);
1392 return 0;
1393 }
1394 case TK_DECLARE: {
1395 luaX_next(ls); /* skip DECLARE */
1396 declarestat(ls);
1397 return 0;
1398 }
1399 case TK_RETURN: { /* stat -> retstat */
1400 retstat(ls);
1401 return 1; /* must be last statement */
1402 }
1403 case TK_BREAK: { /* stat -> breakstat */
1404 luaX_next(ls); /* skip BREAK */
1405 breakstat(ls);
1406 return 1; /* must be last statement */
1407 }
1408 default: {
1409 exprstat(ls);
1410 return 0; /* to avoid warnings */
1411 }
1412 }
1413}
1414

Callers 1

chunkFunction · 0.85

Calls 15

ifstatFunction · 0.85
whilestatFunction · 0.85
luaX_nextFunction · 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
declarestatFunction · 0.85

Tested by

no test coverage detected