From 2e38c6ae5a53cbf1a607a790460fca45ba3b9ca8 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 6 Aug 2002 15:01:50 -0300 Subject: `luadebug.h' content now is included in `lua.h' --- lua.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 3 deletions(-) (limited to 'lua.h') diff --git a/lua.h b/lua.h index 786ba8d6..955b052a 100644 --- a/lua.h +++ b/lua.h @@ -1,5 +1,5 @@ /* -** $Id: lua.h,v 1.150 2002/08/06 17:06:56 roberto Exp roberto $ +** $Id: lua.h,v 1.151 2002/08/06 17:26:45 roberto Exp roberto $ ** Lua - An Extensible Extension Language ** Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil ** http://www.lua.org mailto:info@lua.org @@ -282,8 +282,6 @@ LUA_API int lua_pushupvalues (lua_State *L); #define lua_getref(L,ref) lua_rawgeti(L, LUA_REGISTRYINDEX, ref) -#endif - /* @@ -304,6 +302,56 @@ LUA_API int lua_pushupvalues (lua_State *L); /* }====================================================================== */ +/* +** {====================================================================== +** Debug API +** ======================================================================= +*/ + +typedef enum lua_Hookevent { + LUA_HOOKCALL, LUA_HOOKRET, LUA_HOOKLINE, LUA_HOOKCOUNT +} lua_Hookevent; + + +#define LUA_MASKCALL (2 << LUA_HOOKCALL) +#define LUA_MASKRET (2 << LUA_HOOKRET) +#define LUA_MASKLINE (2 << LUA_HOOKLINE) +#define LUA_MASKCOUNT(count) ((count) << (LUA_HOOKCOUNT+1)) +#define lua_getmaskcount(mask) ((mask) >> (LUA_HOOKCOUNT+1)) + +typedef struct lua_Debug lua_Debug; /* activation record */ + +typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar); + + +LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar); +LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar); +LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n); +LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n); + +LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask); +LUA_API lua_Hook lua_gethook (lua_State *L); +LUA_API int lua_gethookmask (lua_State *L); + + +#define LUA_IDSIZE 60 + +struct lua_Debug { + lua_Hookevent event; + const char *name; /* (n) */ + const char *namewhat; /* (n) `global', `local', `field', `method' */ + const char *what; /* (S) `Lua' function, `C' function, Lua `main' */ + const char *source; /* (S) */ + int currentline; /* (l) */ + int nups; /* (u) number of upvalues */ + int linedefined; /* (S) */ + char short_src[LUA_IDSIZE]; /* (S) */ + /* private part */ + int i_ci; /* active function */ +}; + +/* }====================================================================== */ + /****************************************************************************** * Copyright (C) 2002 Tecgraf, PUC-Rio. All rights reserved. @@ -328,3 +376,5 @@ LUA_API int lua_pushupvalues (lua_State *L); * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ******************************************************************************/ + +#endif -- cgit v1.2.3-55-g6feb