MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / close_func

Function close_func

3rd/lua-5.4.3/src/lparser.c:744–762  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

742
743
744static void close_func (LexState *ls) {
745 lua_State *L = ls->L;
746 FuncState *fs = ls->fs;
747 Proto *f = fs->f;
748 luaK_ret(fs, luaY_nvarstack(fs), 0); /* final return */
749 leaveblock(fs);
750 lua_assert(fs->bl == NULL);
751 luaK_finish(fs);
752 luaM_shrinkvector(L, f->code, f->sizecode, fs->pc, Instruction);
753 luaM_shrinkvector(L, f->lineinfo, f->sizelineinfo, fs->pc, ls_byte);
754 luaM_shrinkvector(L, f->abslineinfo, f->sizeabslineinfo,
755 fs->nabslineinfo, AbsLineInfo);
756 luaM_shrinkvector(L, f->k, f->sizek, fs->nk, TValue);
757 luaM_shrinkvector(L, f->p, f->sizep, fs->np, Proto *);
758 luaM_shrinkvector(L, f->locvars, f->sizelocvars, fs->ndebugvars, LocVar);
759 luaM_shrinkvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc);
760 ls->fs = fs->prev;
761 luaC_checkGC(L);
762}
763
764
765

Callers 2

bodyFunction · 0.85
mainfuncFunction · 0.85

Calls 4

luaK_retFunction · 0.85
luaY_nvarstackFunction · 0.85
leaveblockFunction · 0.85
luaK_finishFunction · 0.85

Tested by

no test coverage detected