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

Function codenot

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

Source from the content-addressed store, hash-verified

666
667
668static void codenot (FuncState *fs, expdesc *e) {
669 luaK_dischargevars(fs, e);
670 switch (e->k) {
671 case VNIL: case VFALSE: {
672 e->k = VTRUE;
673 break;
674 }
675 case VK: case VKNUM: case VTRUE: {
676 e->k = VFALSE;
677 break;
678 }
679 case VJMP: {
680 invertjump(fs, e);
681 break;
682 }
683 case VRELOCABLE:
684 case VNONRELOC: {
685 discharge2anyreg(fs, e);
686 freeexp(fs, e);
687 e->u.info = luaK_codeABC(fs, OP_NOT, 0, e->u.info, 0);
688 e->k = VRELOCABLE;
689 break;
690 }
691 default: {
692 lua_assert(0); /* cannot happen */
693 break;
694 }
695 }
696 /* interchange true and false lists */
697 { int temp = e->f; e->f = e->t; e->t = temp; }
698 removevalues(fs, e->f);
699 removevalues(fs, e->t);
700}
701
702
703void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) {

Callers 1

luaK_prefixFunction · 0.70

Calls 6

luaK_dischargevarsFunction · 0.70
invertjumpFunction · 0.70
discharge2anyregFunction · 0.70
freeexpFunction · 0.70
luaK_codeABCFunction · 0.70
removevaluesFunction · 0.70

Tested by

no test coverage detected