MCPcopy Create free account
hub / github.com/DFHack/dfhack / luaK_setreturns

Function luaK_setreturns

depends/lua/src/lcode.c:515–526  ·  view source on GitHub ↗

** Fix an expression to return the number of results 'nresults'. ** Either 'e' is a multi-ret expression (function call or vararg) ** or 'nresults' is LUA_MULTRET (as any expression can satisfy that). */

Source from the content-addressed store, hash-verified

513** or 'nresults' is LUA_MULTRET (as any expression can satisfy that).
514*/
515void luaK_setreturns (FuncState *fs, expdesc *e, int nresults) {
516 if (e->k == VCALL) { /* expression is an open function call? */
517 SETARG_C(getinstruction(fs, e), nresults + 1);
518 }
519 else if (e->k == VVARARG) {
520 Instruction *pc = &getinstruction(fs, e);
521 SETARG_B(*pc, nresults + 1);
522 SETARG_A(*pc, fs->freereg);
523 luaK_reserveregs(fs, 1);
524 }
525 else lua_assert(nresults == LUA_MULTRET);
526}
527
528
529/*

Callers 1

adjust_assignFunction · 0.85

Calls 1

luaK_reserveregsFunction · 0.85

Tested by

no test coverage detected