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