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 30 /* 31 ** MAXimum number of successive Instructions WiTHout ABSolute line 32 ** information. (A power of two allows fast divisions.) 33 */ 34 #if !defined(MAXIWTHABS) 35 #define MAXIWTHABS 128 36 #endif 37 38 39 LUAI_FUNC int luaG_getfuncline (const Proto *f, int pc); 40 LUAI_FUNC const char *luaG_findlocal (lua_State *L, CallInfo *ci, int n, 41 StkId *pos); 42 LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o, 43 const char *opname); 44 LUAI_FUNC l_noret luaG_callerror (lua_State *L, const TValue *o); 45 LUAI_FUNC l_noret luaG_forerror (lua_State *L, const TValue *o, 46 const char *what); 47 LUAI_FUNC l_noret luaG_concaterror (lua_State *L, const TValue *p1, 48 const TValue *p2); 49 LUAI_FUNC l_noret luaG_opinterror (lua_State *L, const TValue *p1, 50 const TValue *p2, 51 const char *msg); 52 LUAI_FUNC l_noret luaG_tointerror (lua_State *L, const TValue *p1, 53 const TValue *p2); 54 LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1, 55 const TValue *p2); 56 LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...); 57 LUAI_FUNC const char *luaG_addinfo (lua_State *L, const char *msg, 58 TString *src, int line); 59 LUAI_FUNC l_noret luaG_errormsg (lua_State *L); 60 LUAI_FUNC int luaG_traceexec (lua_State *L, const Instruction *pc); 61 62 63 #endif 64