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

Function close_func

third-party/lua-5.2.4/src/lparser.c:555–579  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

553
554
555static void close_func (LexState *ls) {
556 lua_State *L = ls->L;
557 FuncState *fs = ls->fs;
558 Proto *f = fs->f;
559 luaK_ret(fs, 0, 0); /* final return */
560 leaveblock(fs);
561 luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction);
562 f->sizecode = fs->pc;
563 luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, int);
564 f->sizelineinfo = fs->pc;
565 luaM_reallocvector(L, f->k, f->sizek, fs->nk, TValue);
566 f->sizek = fs->nk;
567 luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *);
568 f->sizep = fs->np;
569 luaM_reallocvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar);
570 f->sizelocvars = fs->nlocvars;
571 luaM_reallocvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc);
572 f->sizeupvalues = fs->nups;
573 lua_assert(fs->bl == NULL);
574 ls->fs = fs->prev;
575 /* last token read was anchored in defunct function; must re-anchor it */
576 anchor_token(ls);
577 L->top--; /* pop table of constants */
578 luaC_checkGC(L);
579}
580
581
582

Callers 2

bodyFunction · 0.70
mainfuncFunction · 0.70

Calls 3

luaK_retFunction · 0.70
leaveblockFunction · 0.70
anchor_tokenFunction · 0.70

Tested by

no test coverage detected