MCPcopy Create free account
hub / github.com/defold/defold / luaK_goiffalse

Function luaK_goiffalse

engine/lua/src/lua/lcode.c:567–591  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

565
566
567static void luaK_goiffalse (FuncState *fs, expdesc *e) {
568 int pc; /* pc of last jump */
569 luaK_dischargevars(fs, e);
570 switch (e->k) {
571 case VNIL: case VFALSE: {
572 pc = NO_JUMP; /* always false; do nothing */
573 break;
574 }
575 case VTRUE: {
576 pc = luaK_jump(fs); /* always jump */
577 break;
578 }
579 case VJMP: {
580 pc = e->u.s.info;
581 break;
582 }
583 default: {
584 pc = jumponcond(fs, e, 1);
585 break;
586 }
587 }
588 luaK_concat(fs, &e->t, pc); /* insert last jump in `t' list */
589 luaK_patchtohere(fs, e->f);
590 e->f = NO_JUMP;
591}
592
593
594static void codenot (FuncState *fs, expdesc *e) {

Callers 1

luaK_infixFunction · 0.85

Calls 5

luaK_dischargevarsFunction · 0.85
luaK_jumpFunction · 0.85
jumponcondFunction · 0.85
luaK_concatFunction · 0.85
luaK_patchtohereFunction · 0.85

Tested by

no test coverage detected