MCPcopy Create free account
hub / github.com/Overload-Technologies/Overload / mainfunc

Function mainfunc

Dependencies/lua/src/lparser.c:1924–1939  ·  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

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

Tested by

no test coverage detected