MCPcopy Create free account
hub / github.com/F-Stack/f-stack / codenot

Function codenot

freebsd/contrib/openzfs/module/lua/lcode.c:666–698  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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