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

Function luaK_goiffalse

third-party/lua-5.2.4/src/lcode.c:645–665  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

643
644
645void luaK_goiffalse (FuncState *fs, expdesc *e) {
646 int pc; /* pc of last jump */
647 luaK_dischargevars(fs, e);
648 switch (e->k) {
649 case VJMP: {
650 pc = e->u.info;
651 break;
652 }
653 case VNIL: case VFALSE: {
654 pc = NO_JUMP; /* always false; do nothing */
655 break;
656 }
657 default: {
658 pc = jumponcond(fs, e, 1);
659 break;
660 }
661 }
662 luaK_concat(fs, &e->t, pc); /* insert last jump in `t' list */
663 luaK_patchtohere(fs, e->f);
664 e->f = NO_JUMP;
665}
666
667
668static void codenot (FuncState *fs, expdesc *e) {

Callers 2

test_then_blockFunction · 0.70
luaK_infixFunction · 0.70

Calls 4

luaK_dischargevarsFunction · 0.70
jumponcondFunction · 0.70
luaK_concatFunction · 0.70
luaK_patchtohereFunction · 0.70

Tested by 1

test_then_blockFunction · 0.56