MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / adjust_assign

Function adjust_assign

Source/Misc/lua/src/lua.c:7832–7849  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7830
7831
7832static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) {
7833FuncState *fs = ls->fs;
7834int extra = nvars - nexps;
7835if (hasmultret(e->k)) {
7836extra++; /* includes call itself */
7837if (extra < 0) extra = 0;
7838luaK_setreturns(fs, e, extra); /* last exp. provides the difference */
7839if (extra > 1) luaK_reserveregs(fs, extra-1);
7840}
7841else {
7842if (e->k != VVOID) luaK_exp2nextreg(fs, e); /* close last expression */
7843if (extra > 0) {
7844int reg = fs->freereg;
7845luaK_reserveregs(fs, extra);
7846luaK_nil(fs, reg, extra);
7847}
7848}
7849}
7850
7851
7852static void enterlevel (LexState *ls) {

Callers 3

assignmentFunction · 0.85
forlistFunction · 0.85
localstatFunction · 0.85

Calls 4

luaK_setreturnsFunction · 0.85
luaK_reserveregsFunction · 0.85
luaK_exp2nextregFunction · 0.85
luaK_nilFunction · 0.85

Tested by

no test coverage detected