| 569 | |
| 570 | |
| 571 | static void close_func(LexState *ls) { |
| 572 | lua_State *L = ls->L; |
| 573 | FuncState *fs = ls->fs; |
| 574 | Proto *f = fs->f; |
| 575 | luaK_ret(fs, 0, 0); /* final return */ |
| 576 | leaveblock(fs); |
| 577 | luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction); |
| 578 | f->sizecode = fs->pc; |
| 579 | luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, int); |
| 580 | f->sizelineinfo = fs->pc; |
| 581 | luaM_reallocvector(L, f->k, f->sizek, fs->nk, TValue); |
| 582 | f->sizek = fs->nk; |
| 583 | luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *); |
| 584 | f->sizep = fs->np; |
| 585 | luaM_reallocvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar); |
| 586 | f->sizelocvars = fs->nlocvars; |
| 587 | luaM_reallocvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc); |
| 588 | f->sizeupvalues = fs->nups; |
| 589 | lua_assert(fs->bl == nullptr); |
| 590 | ls->fs = fs->prev; |
| 591 | luaC_checkGC(L); |
| 592 | } |
| 593 | |
| 594 | |
| 595 |
no test coverage detected