** compiles the main function, which is a regular vararg function with an ** upvalue named LUA_ENV */
| 1921 | ** upvalue named LUA_ENV |
| 1922 | */ |
| 1923 | static 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 | |
| 1941 | LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, |
no test coverage detected