/* ** $Id$ ** Auxiliary functions from Debug Interface module ** See Copyright Notice in lua.h */ #ifndef ldebug_h #define ldebug_h #include "lstate.h" #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) #ifdef LUA_OPTIMIZE_DEBUG # include "lvm.h" # define getline(f,pc) (((f)->packedlineinfo) ? luaG_getline((f), pc) : 0) # define INFO_FILL_BYTE 0x7F # define INFO_DELTA_MASK 0x80 # define INFO_SIGN_MASK 0x40 # define INFO_DELTA_6BITS 0x3F # define INFO_DELTA_7BITS 0x7F # define INFO_MAX_LINECNT 126 # define lineInfoTop(fs) ((fs)->f->packedlineinfo + (fs)->lastlineOffset) #else # define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) #endif #define resethookcount(L) (L->hookcount = L->basehookcount) LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o, const char *opname); LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2); LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1, const TValue *p2); LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2); LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...); LUAI_FUNC void luaG_errormsg (lua_State *L); LUAI_FUNC int luaG_checkcode (const Proto *pt); LUAI_FUNC int luaG_checkopenop (Instruction i); #ifdef LUA_OPTIMIZE_DEBUG LUAI_FUNC int luaG_getline (const Proto *f, int pc); LUAI_FUNC int luaG_stripdebug (lua_State *L, Proto *f, int level, int recv); #endif #endif