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

Function adjust_assign

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

Source from the content-addressed store, hash-verified

308
309
310static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) {
311 FuncState *fs = ls->fs;
312 int extra = nvars - nexps;
313 if (hasmultret(e->k)) {
314 extra++; /* includes call itself */
315 if (extra < 0) extra = 0;
316 luaK_setreturns(fs, e, extra); /* last exp. provides the difference */
317 if (extra > 1) luaK_reserveregs(fs, extra-1);
318 }
319 else {
320 if (e->k != VVOID) luaK_exp2nextreg(fs, e); /* close last expression */
321 if (extra > 0) {
322 int reg = fs->freereg;
323 luaK_reserveregs(fs, extra);
324 luaK_nil(fs, reg, extra);
325 }
326 }
327}
328
329
330static void enterlevel (LexState *ls) {

Callers 3

assignmentFunction · 0.70
forlistFunction · 0.70
localstatFunction · 0.70

Calls 4

luaK_setreturnsFunction · 0.70
luaK_reserveregsFunction · 0.70
luaK_exp2nextregFunction · 0.70
luaK_nilFunction · 0.70

Tested by

no test coverage detected