xref: /aosp_15_r20/external/lua/src/ldebug.h (revision 088332b5b69e7ab13924864b272aabfc2509d2d5)
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