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