MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / statement

Function statement

extlibs/lua/src/lparser.c:1864–1934  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1862
1863
1864static void statement (LexState *ls) {
1865 int line = ls->linenumber; /* may be needed for error messages */
1866 enterlevel(ls);
1867 switch (ls->t.token) {
1868 case ';': { /* stat -> ';' (empty statement) */
1869 luaX_next(ls); /* skip ';' */
1870 break;
1871 }
1872 case TK_IF: { /* stat -> ifstat */
1873 ifstat(ls, line);
1874 break;
1875 }
1876 case TK_WHILE: { /* stat -> whilestat */
1877 whilestat(ls, line);
1878 break;
1879 }
1880 case TK_DO: { /* stat -> DO block END */
1881 luaX_next(ls); /* skip DO */
1882 block(ls);
1883 check_match(ls, TK_END, TK_DO, line);
1884 break;
1885 }
1886 case TK_FOR: { /* stat -> forstat */
1887 forstat(ls, line);
1888 break;
1889 }
1890 case TK_REPEAT: { /* stat -> repeatstat */
1891 repeatstat(ls, line);
1892 break;
1893 }
1894 case TK_FUNCTION: { /* stat -> funcstat */
1895 funcstat(ls, line);
1896 break;
1897 }
1898 case TK_LOCAL: { /* stat -> localstat */
1899 luaX_next(ls); /* skip LOCAL */
1900 if (testnext(ls, TK_FUNCTION)) /* local function? */
1901 localfunc(ls);
1902 else
1903 localstat(ls);
1904 break;
1905 }
1906 case TK_DBCOLON: { /* stat -> label */
1907 luaX_next(ls); /* skip double colon */
1908 labelstat(ls, str_checkname(ls), line);
1909 break;
1910 }
1911 case TK_RETURN: { /* stat -> retstat */
1912 luaX_next(ls); /* skip RETURN */
1913 retstat(ls);
1914 break;
1915 }
1916 case TK_BREAK: { /* stat -> breakstat */
1917 breakstat(ls);
1918 break;
1919 }
1920 case TK_GOTO: { /* stat -> 'goto' NAME */
1921 luaX_next(ls); /* skip 'goto' */

Callers 2

statlistFunction · 0.85
labelstatFunction · 0.85

Calls 15

luaX_nextFunction · 0.85
ifstatFunction · 0.85
whilestatFunction · 0.85
blockFunction · 0.85
forstatFunction · 0.85
repeatstatFunction · 0.85
funcstatFunction · 0.85
testnextFunction · 0.85
localfuncFunction · 0.85
localstatFunction · 0.85
labelstatFunction · 0.85
str_checknameFunction · 0.85

Tested by

no test coverage detected