2000-01-15 01:15:44 +08:00
|
|
|
/*
|
2018-08-24 01:26:12 +08:00
|
|
|
** $Id: ldebug.h $
|
2000-01-15 01:15:44 +08:00
|
|
|
** Auxiliary functions from Debug Interface module
|
|
|
|
** See Copyright Notice in lua.h
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef ldebug_h
|
|
|
|
#define ldebug_h
|
|
|
|
|
|
|
|
|
2000-06-29 04:21:06 +08:00
|
|
|
#include "lstate.h"
|
2000-01-15 01:15:44 +08:00
|
|
|
|
|
|
|
|
2018-01-28 23:13:26 +08:00
|
|
|
#define pcRel(pc, p) (cast_int((pc) - (p)->code) - 1)
|
2002-04-10 20:11:07 +08:00
|
|
|
|
2020-07-17 22:01:05 +08:00
|
|
|
|
|
|
|
/* Active Lua function (given call info) */
|
2022-10-29 23:06:37 +08:00
|
|
|
#define ci_func(ci) (clLvalue(s2v((ci)->func.p)))
|
2020-07-17 22:01:05 +08:00
|
|
|
|
|
|
|
|
2002-11-18 19:01:55 +08:00
|
|
|
#define resethookcount(L) (L->hookcount = L->basehookcount)
|
2002-07-09 02:21:33 +08:00
|
|
|
|
2017-06-27 19:35:31 +08:00
|
|
|
/*
|
|
|
|
** mark for entries in 'lineinfo' array that has absolute information in
|
|
|
|
** 'abslineinfo' array
|
|
|
|
*/
|
|
|
|
#define ABSLINEINFO (-0x80)
|
2002-07-09 02:21:33 +08:00
|
|
|
|
2021-01-29 01:40:29 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
** MAXimum number of successive Instructions WiTHout ABSolute line
|
2021-02-03 01:43:55 +08:00
|
|
|
** information. (A power of two allows fast divisions.)
|
2021-01-29 01:40:29 +08:00
|
|
|
*/
|
|
|
|
#if !defined(MAXIWTHABS)
|
2021-02-03 01:43:55 +08:00
|
|
|
#define MAXIWTHABS 128
|
2021-01-29 01:40:29 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2018-06-09 03:06:59 +08:00
|
|
|
LUAI_FUNC int luaG_getfuncline (const Proto *f, int pc);
|
2018-11-30 02:02:44 +08:00
|
|
|
LUAI_FUNC const char *luaG_findlocal (lua_State *L, CallInfo *ci, int n,
|
|
|
|
StkId *pos);
|
2011-10-08 04:45:19 +08:00
|
|
|
LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o,
|
|
|
|
const char *opname);
|
2020-12-30 00:15:54 +08:00
|
|
|
LUAI_FUNC l_noret luaG_callerror (lua_State *L, const TValue *o);
|
2018-10-31 02:46:56 +08:00
|
|
|
LUAI_FUNC l_noret luaG_forerror (lua_State *L, const TValue *o,
|
|
|
|
const char *what);
|
2013-04-30 00:58:10 +08:00
|
|
|
LUAI_FUNC l_noret luaG_concaterror (lua_State *L, const TValue *p1,
|
|
|
|
const TValue *p2);
|
2014-11-10 22:46:05 +08:00
|
|
|
LUAI_FUNC l_noret luaG_opinterror (lua_State *L, const TValue *p1,
|
|
|
|
const TValue *p2,
|
|
|
|
const char *msg);
|
2013-05-07 01:21:59 +08:00
|
|
|
LUAI_FUNC l_noret luaG_tointerror (lua_State *L, const TValue *p1,
|
|
|
|
const TValue *p2);
|
2011-10-08 04:45:19 +08:00
|
|
|
LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1,
|
|
|
|
const TValue *p2);
|
|
|
|
LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...);
|
2015-05-23 01:45:56 +08:00
|
|
|
LUAI_FUNC const char *luaG_addinfo (lua_State *L, const char *msg,
|
|
|
|
TString *src, int line);
|
2011-10-08 04:45:19 +08:00
|
|
|
LUAI_FUNC l_noret luaG_errormsg (lua_State *L);
|
2018-05-03 02:17:59 +08:00
|
|
|
LUAI_FUNC int luaG_traceexec (lua_State *L, const Instruction *pc);
|
2023-07-26 03:50:44 +08:00
|
|
|
LUAI_FUNC int luaG_tracecall (lua_State *L);
|
2013-04-25 23:59:42 +08:00
|
|
|
|
2000-01-15 01:15:44 +08:00
|
|
|
|
|
|
|
#endif
|