| 309 | // static int errorCode; |
| 310 | |
| 311 | int GetJmpAddr(Function* F, int addr) { |
| 312 | int real_end = addr; |
| 313 | if (real_end >= F->f->sizecode) { |
| 314 | real_end = F->f->sizecode; |
| 315 | return real_end; |
| 316 | } |
| 317 | if (real_end < 0) { |
| 318 | real_end = -1; |
| 319 | return real_end; |
| 320 | } |
| 321 | while (GET_OPCODE(F->f->code[real_end]) == OP_JMP) { |
| 322 | real_end = GETARG_sBx(F->f->code[real_end]) + real_end + 1; |
| 323 | } |
| 324 | return real_end; |
| 325 | } |
| 326 | |
| 327 | void RawAddStatement(Function* F, std::stringstream &ss); |
| 328 | void DeclareLocal(GluaDecompileContextP ctx, Function* F, int ixx, std::string value); |