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.p))) 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 39LUAI_FUNC int luaG_getfuncline (const Proto *f, int pc); 40LUAI_FUNC const char *luaG_findlocal (lua_State *L, CallInfo *ci, int n, 41 StkId *pos); 42LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o, 43 const char *opname); 44LUAI_FUNC l_noret luaG_callerror (lua_State *L, const TValue *o); 45LUAI_FUNC l_noret luaG_forerror (lua_State *L, const TValue *o, 46 const char *what); 47LUAI_FUNC l_noret luaG_concaterror (lua_State *L, const TValue *p1, 48 const TValue *p2); 49LUAI_FUNC l_noret luaG_opinterror (lua_State *L, const TValue *p1, 50 const TValue *p2, 51 const char *msg); 52LUAI_FUNC l_noret luaG_tointerror (lua_State *L, const TValue *p1, 53 const TValue *p2); 54LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1, 55 const TValue *p2); 56LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...); 57LUAI_FUNC const char *luaG_addinfo (lua_State *L, const char *msg, 58 TString *src, int line); 59LUAI_FUNC l_noret luaG_errormsg (lua_State *L); 60LUAI_FUNC int luaG_traceexec (lua_State *L, const Instruction *pc); 61 62 63#endif 64