** Emit SELF instruction (convert expression 'e' into 'e:key(e,'). */
| 1066 | ** Emit SELF instruction (convert expression 'e' into 'e:key(e,'). |
| 1067 | */ |
| 1068 | void luaK_self (FuncState *fs, expdesc *e, expdesc *key) { |
| 1069 | int ereg; |
| 1070 | luaK_exp2anyreg(fs, e); |
| 1071 | ereg = e->u.info; /* register where 'e' was placed */ |
| 1072 | freeexp(fs, e); |
| 1073 | e->u.info = fs->freereg; /* base register for op_self */ |
| 1074 | e->k = VNONRELOC; /* self expression has a fixed register */ |
| 1075 | luaK_reserveregs(fs, 2); /* function and 'self' produced by op_self */ |
| 1076 | codeABRK(fs, OP_SELF, e->u.info, ereg, key); |
| 1077 | freeexp(fs, key); |
| 1078 | } |
| 1079 | |
| 1080 | |
| 1081 | /* |
no test coverage detected