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