MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / statement

Function statement

third-party/lua-5.4.6/src/lparser.c:1844–1914  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1842
1843
1844static void statement (LexState *ls) {
1845 int line = ls->linenumber; /* may be needed for error messages */
1846 enterlevel(ls);
1847 switch (ls->t.token) {
1848 case ';': { /* stat -> ';' (empty statement) */
1849 luaX_next(ls); /* skip ';' */
1850 break;
1851 }
1852 case TK_IF: { /* stat -> ifstat */
1853 ifstat(ls, line);
1854 break;
1855 }
1856 case TK_WHILE: { /* stat -> whilestat */
1857 whilestat(ls, line);
1858 break;
1859 }
1860 case TK_DO: { /* stat -> DO block END */
1861 luaX_next(ls); /* skip DO */
1862 block(ls);
1863 check_match(ls, TK_END, TK_DO, line);
1864 break;
1865 }
1866 case TK_FOR: { /* stat -> forstat */
1867 forstat(ls, line);
1868 break;
1869 }
1870 case TK_REPEAT: { /* stat -> repeatstat */
1871 repeatstat(ls, line);
1872 break;
1873 }
1874 case TK_FUNCTION: { /* stat -> funcstat */
1875 funcstat(ls, line);
1876 break;
1877 }
1878 case TK_LOCAL: { /* stat -> localstat */
1879 luaX_next(ls); /* skip LOCAL */
1880 if (testnext(ls, TK_FUNCTION)) /* local function? */
1881 localfunc(ls);
1882 else
1883 localstat(ls);
1884 break;
1885 }
1886 case TK_DBCOLON: { /* stat -> label */
1887 luaX_next(ls); /* skip double colon */
1888 labelstat(ls, str_checkname(ls), line);
1889 break;
1890 }
1891 case TK_RETURN: { /* stat -> retstat */
1892 luaX_next(ls); /* skip RETURN */
1893 retstat(ls);
1894 break;
1895 }
1896 case TK_BREAK: { /* stat -> breakstat */
1897 breakstat(ls);
1898 break;
1899 }
1900 case TK_GOTO: { /* stat -> 'goto' NAME */
1901 luaX_next(ls); /* skip 'goto' */

Callers 2

statlistFunction · 0.70
labelstatFunction · 0.70

Calls 15

luaX_nextFunction · 0.70
ifstatFunction · 0.70
whilestatFunction · 0.70
blockFunction · 0.70
check_matchFunction · 0.70
forstatFunction · 0.70
repeatstatFunction · 0.70
funcstatFunction · 0.70
testnextFunction · 0.70
localfuncFunction · 0.70
localstatFunction · 0.70
labelstatFunction · 0.70

Tested by

no test coverage detected