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

Function mainfunc

third-party/lua-5.5.0/src/lparser.c:2150–2165  ·  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

2148** upvalue named LUA_ENV
2149*/
2150static void mainfunc (LexState *ls, FuncState *fs) {
2151 BlockCnt bl;
2152 Upvaldesc *env;
2153 open_func(ls, fs, &bl);
2154 setvararg(fs); /* main function is always vararg */
2155 env = allocupvalue(fs); /* ...set environment upvalue */
2156 env->instack = 1;
2157 env->idx = 0;
2158 env->kind = VDKREG;
2159 env->name = ls->envn;
2160 luaC_objbarrier(ls->L, fs->f, env->name);
2161 luaX_next(ls); /* read first token */
2162 statlist(ls); /* parse main body */
2163 check(ls, TK_EOS);
2164 close_func(ls);
2165}
2166
2167
2168LClosure *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