1 | /* |
2 | ** $Id: ldebug.h $ |
3 | ** Auxiliary functions from Debug Interface module |
4 | ** See Copyright Notice in lua.h |
5 | */ |
6 | |
7 | #ifndef ldebug_h |
8 | #define ldebug_h |
9 | |
10 | |
11 | #include "lstate.h" |
12 | |
13 | |
14 | #define pcRel(pc, p) (cast_int((pc) - (p)->code) - 1) |
15 | |
16 | |
17 | /* Active Lua function (given call info) */ |
18 | #define ci_func(ci) (clLvalue(s2v((ci)->func))) |
19 | |
20 | |
21 | #define resethookcount(L) (L->hookcount = L->basehookcount) |
22 | |
23 | /* |
24 | ** mark for entries in 'lineinfo' array that has absolute information in |
25 | ** 'abslineinfo' array |
26 | */ |
27 | #define ABSLINEINFO (-0x80) |
28 | |
29 | LUAI_FUNC int luaG_getfuncline (const Proto *f, int pc); |
30 | LUAI_FUNC const char *luaG_findlocal (lua_State *L, CallInfo *ci, int n, |
31 | StkId *pos); |
32 | LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o, |
33 | const char *opname); |
34 | LUAI_FUNC l_noret luaG_forerror (lua_State *L, const TValue *o, |
35 | const char *what); |
36 | LUAI_FUNC l_noret luaG_concaterror (lua_State *L, const TValue *p1, |
37 | const TValue *p2); |
38 | LUAI_FUNC l_noret luaG_opinterror (lua_State *L, const TValue *p1, |
39 | const TValue *p2, |
40 | const char *msg); |
41 | LUAI_FUNC l_noret luaG_tointerror (lua_State *L, const TValue *p1, |
42 | const TValue *p2); |
43 | LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1, |
44 | const TValue *p2); |
45 | LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...); |
46 | LUAI_FUNC const char *luaG_addinfo (lua_State *L, const char *msg, |
47 | TString *src, int line); |
48 | LUAI_FUNC l_noret luaG_errormsg (lua_State *L); |
49 | LUAI_FUNC int luaG_traceexec (lua_State *L, const Instruction *pc); |
50 | |
51 | |
52 | #endif |
53 | |