MCPcopy Create free account
hub / github.com/F-Stack/f-stack / adjust_assign

Function adjust_assign

freebsd/contrib/openzfs/module/lua/lparser.c:308–325  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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