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

Function mainfunc

third-party/lua-5.4.6/src/lparser.c:1923–1938  ·  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

1921** upvalue named LUA_ENV
1922*/
1923static void mainfunc (LexState *ls, FuncState *fs) {
1924 BlockCnt bl;
1925 Upvaldesc *env;
1926 open_func(ls, fs, &bl);
1927 setvararg(fs, 0); /* main function is always declared vararg */
1928 env = allocupvalue(fs); /* ...set environment upvalue */
1929 env->instack = 1;
1930 env->idx = 0;
1931 env->kind = VDKREG;
1932 env->name = ls->envn;
1933 luaC_objbarrier(ls->L, fs->f, env->name);
1934 luaX_next(ls); /* read first token */
1935 statlist(ls); /* parse main body */
1936 check(ls, TK_EOS);
1937 close_func(ls);
1938}
1939
1940
1941LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,

Callers 1

luaY_parserFunction · 0.70

Calls 7

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

Tested by

no test coverage detected