MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / mainfunc

Function mainfunc

3rd/lua-5.4.3/src/lparser.c:1913–1928  ·  view source on GitHub ↗

** compiles the main function, which is a regular vararg function with an ** upvalue named LUA_ENV */

Source from the content-addressed store, hash-verified

1911** upvalue named LUA_ENV
1912*/
1913static void mainfunc (LexState *ls, FuncState *fs) {
1914 BlockCnt bl;
1915 Upvaldesc *env;
1916 open_func(ls, fs, &bl);
1917 setvararg(fs, 0); /* main function is always declared vararg */
1918 env = allocupvalue(fs); /* ...set environment upvalue */
1919 env->instack = 1;
1920 env->idx = 0;
1921 env->kind = VDKREG;
1922 env->name = ls->envn;
1923 luaC_objbarrier(ls->L, fs->f, env->name);
1924 luaX_next(ls); /* read first token */
1925 statlist(ls); /* parse main body */
1926 check(ls, TK_EOS);
1927 close_func(ls);
1928}
1929
1930
1931LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,

Callers 1

luaY_parserFunction · 0.85

Calls 7

open_funcFunction · 0.85
setvarargFunction · 0.85
allocupvalueFunction · 0.85
luaX_nextFunction · 0.85
statlistFunction · 0.85
checkFunction · 0.85
close_funcFunction · 0.85

Tested by

no test coverage detected