| 973 | |
| 974 | |
| 975 | static void breakstat (LexState *ls) { |
| 976 | FuncState *fs = ls->fs; |
| 977 | BlockCnt *bl = fs->bl; |
| 978 | int upval = 0; |
| 979 | while (bl && !bl->isbreakable) { |
| 980 | upval |= bl->upval; |
| 981 | bl = bl->previous; |
| 982 | } |
| 983 | if (!bl) |
| 984 | luaX_syntaxerror(ls, "no loop to break"); |
| 985 | if (upval) |
| 986 | luaK_codeABC(fs, OP_CLOSE, bl->nactvar, 0, 0); |
| 987 | luaK_concat(fs, &bl->breaklist, luaK_jump(fs)); |
| 988 | } |
| 989 | |
| 990 | |
| 991 | static void whilestat (LexState *ls, int line) { |
no test coverage detected