** compiles the main function, which is a regular vararg function with an ** upvalue named LUA_ENV */
| 1611 | ** upvalue named LUA_ENV |
| 1612 | */ |
| 1613 | static void mainfunc (LexState *ls, FuncState *fs) { |
| 1614 | BlockCnt bl; |
| 1615 | expdesc v; |
| 1616 | open_func(ls, fs, &bl); |
| 1617 | fs->f->is_vararg = 1; /* main function is always declared vararg */ |
| 1618 | init_exp(&v, VLOCAL, 0); /* create and... */ |
| 1619 | newupvalue(fs, ls->envn, &v); /* ...set environment upvalue */ |
| 1620 | luaC_objbarrier(ls->L, fs->f, ls->envn); |
| 1621 | luaX_next(ls); /* read first token */ |
| 1622 | statlist(ls); /* parse main body */ |
| 1623 | check(ls, TK_EOS); |
| 1624 | close_func(ls); |
| 1625 | } |
| 1626 | |
| 1627 | |
| 1628 | LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, |
no test coverage detected