ldblib.cpp File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"

Go to the source code of this file.

Defines

#define ldblib_c
#define LUA_LIB
#define LEVELS1   12
#define LEVELS2   10

Functions

static int db_getregistry (lua_State *L)
static int db_getmetatable (lua_State *L)
static int db_setmetatable (lua_State *L)
static int db_getfenv (lua_State *L)
static int db_setfenv (lua_State *L)
static void settabss (lua_State *L, const char *i, const char *v)
static void settabsi (lua_State *L, const char *i, int v)
static lua_Stategetthread (lua_State *L, int *arg)
static void treatstackoption (lua_State *L, lua_State *L1, const char *fname)
static int db_getinfo (lua_State *L)
static int db_getlocal (lua_State *L)
static int db_setlocal (lua_State *L)
static int auxupvalue (lua_State *L, int get)
static int db_getupvalue (lua_State *L)
static int db_setupvalue (lua_State *L)
static void hookf (lua_State *L, lua_Debug *ar)
static int makemask (const char *smask, int count)
static char * unmakemask (int mask, char *smask)
static void gethooktable (lua_State *L)
static int db_sethook (lua_State *L)
static int db_gethook (lua_State *L)
static int db_debug (lua_State *L)
static int db_errorfb (lua_State *L)
LUALIB_API int luaopen_debug (lua_State *L)

Variables

static const char KEY_HOOK = 'h'
static const luaL_Reg dblib []


Define Documentation

#define ldblib_c

Definition at line 12 of file ldblib.cpp.

#define LEVELS1   12

Definition at line 318 of file ldblib.cpp.

Referenced by db_errorfb().

#define LEVELS2   10

Definition at line 319 of file ldblib.cpp.

Referenced by db_errorfb().

#define LUA_LIB

Definition at line 13 of file ldblib.cpp.


Function Documentation

static int auxupvalue ( lua_State L,
int  get 
) [static]

Definition at line 178 of file ldblib.cpp.

References lua_getupvalue(), lua_insert(), lua_iscfunction(), lua_pushstring(), lua_setupvalue(), LUA_TFUNCTION, luaL_checkint, luaL_checktype(), and NULL.

Referenced by db_getupvalue(), and db_setupvalue().

static int db_debug ( lua_State L  )  [static]

Definition at line 301 of file ldblib.cpp.

References lua_pcall(), lua_settop(), lua_tostring, luaL_loadbuffer(), LangStringUtil::strcmp(), and LangStringUtil::strlen().

static int db_errorfb ( lua_State L  )  [static]

Definition at line 321 of file ldblib.cpp.

References lua_Debug::currentline, getthread(), int(), LEVELS1, LEVELS2, lua_Debug::linedefined, lua_concat(), lua_getinfo(), lua_getstack(), lua_gettop(), lua_isnumber(), lua_isstring(), lua_pop, lua_pushfstring(), lua_pushliteral, LUA_QS, lua_tointeger(), lua_Debug::name, lua_Debug::namewhat, lua_Debug::short_src, and lua_Debug::what.

static int db_getfenv ( lua_State L  )  [static]

Definition at line 47 of file ldblib.cpp.

References lua_getfenv().

static int db_gethook ( lua_State L  )  [static]

Definition at line 280 of file ldblib.cpp.

References gethooktable(), getthread(), hookf(), lua_gethook(), lua_gethookcount(), lua_gethookmask(), lua_pushinteger(), lua_pushlightuserdata(), lua_pushliteral, lua_pushstring(), lua_rawget(), lua_remove(), lua_xmove(), NULL, and unmakemask().

static int db_getinfo ( lua_State L  )  [static]

Definition at line 98 of file ldblib.cpp.

References lua_Debug::currentline, getthread(), lua_Debug::lastlinedefined, lua_Debug::linedefined, lua_createtable(), lua_getinfo(), lua_getstack(), lua_isfunction, lua_isnumber(), lua_pushfstring(), lua_pushnil(), lua_pushvalue(), lua_tointeger(), lua_tostring, lua_xmove(), luaL_argerror(), luaL_optstring, lua_Debug::name, lua_Debug::namewhat, lua_Debug::nups, settabsi(), settabss(), lua_Debug::short_src, lua_Debug::source, treatstackoption(), and lua_Debug::what.

static int db_getlocal ( lua_State L  )  [static]

Definition at line 143 of file ldblib.cpp.

References getthread(), lua_getlocal(), lua_getstack(), lua_pushnil(), lua_pushstring(), lua_pushvalue(), lua_xmove(), luaL_argerror(), and luaL_checkint.

static int db_getmetatable ( lua_State L  )  [static]

Definition at line 28 of file ldblib.cpp.

References lua_getmetatable(), lua_pushnil(), and luaL_checkany().

static int db_getregistry ( lua_State L  )  [static]

Definition at line 22 of file ldblib.cpp.

References lua_pushvalue(), and LUA_REGISTRYINDEX.

static int db_getupvalue ( lua_State L  )  [static]

Definition at line 191 of file ldblib.cpp.

References auxupvalue().

static int db_setfenv ( lua_State L  )  [static]

Definition at line 53 of file ldblib.cpp.

References LUA_QL, lua_setfenv(), lua_settop(), LUA_TTABLE, luaL_checktype(), and luaL_error().

static int db_sethook ( lua_State L  )  [static]

Definition at line 257 of file ldblib.cpp.

References gethooktable(), getthread(), hookf(), lua_isnoneornil, lua_pop, lua_pushlightuserdata(), lua_pushvalue(), lua_rawset(), lua_sethook(), lua_settop(), LUA_TFUNCTION, lua_xmove(), luaL_checkstring, luaL_checktype(), luaL_optint, makemask(), and NULL.

static int db_setlocal ( lua_State L  )  [static]

Definition at line 164 of file ldblib.cpp.

References getthread(), lua_getstack(), lua_pushstring(), lua_setlocal(), lua_settop(), lua_xmove(), luaL_argerror(), luaL_checkany(), and luaL_checkint.

static int db_setmetatable ( lua_State L  )  [static]

Definition at line 37 of file ldblib.cpp.

References lua_pushboolean(), lua_setmetatable(), lua_settop(), LUA_TNIL, LUA_TTABLE, lua_type(), and luaL_argcheck.

static int db_setupvalue ( lua_State L  )  [static]

Definition at line 196 of file ldblib.cpp.

References auxupvalue(), and luaL_checkany().

static void gethooktable ( lua_State L  )  [static]

Definition at line 244 of file ldblib.cpp.

References KEY_HOOK, lua_createtable(), lua_istable, lua_pop, lua_pushlightuserdata(), lua_pushvalue(), lua_rawget(), lua_rawset(), and LUA_REGISTRYINDEX.

Referenced by db_gethook(), and db_sethook().

static lua_State* getthread ( lua_State L,
int *  arg 
) [static]

Definition at line 75 of file ldblib.cpp.

References lua_isthread, and lua_tothread().

Referenced by db_errorfb(), db_gethook(), db_getinfo(), db_getlocal(), db_sethook(), and db_setlocal().

static void hookf ( lua_State L,
lua_Debug ar 
) [static]

Definition at line 206 of file ldblib.cpp.

References lua_Debug::currentline, lua_Debug::event, KEY_HOOK, lua_assert, lua_call(), lua_getinfo(), lua_isfunction, lua_pushinteger(), lua_pushlightuserdata(), lua_pushnil(), lua_pushstring(), lua_rawget(), and LUA_REGISTRYINDEX.

Referenced by db_gethook(), and db_sethook().

LUALIB_API int luaopen_debug ( lua_State L  ) 

Definition at line 393 of file ldblib.cpp.

static int makemask ( const char *  smask,
int  count 
) [static]

Definition at line 224 of file ldblib.cpp.

References LUA_MASKCALL, LUA_MASKCOUNT, LUA_MASKLINE, and LUA_MASKRET.

Referenced by db_sethook().

static void settabsi ( lua_State L,
const char *  i,
int  v 
) [static]

Definition at line 69 of file ldblib.cpp.

References lua_pushinteger(), and lua_setfield().

Referenced by db_getinfo().

static void settabss ( lua_State L,
const char *  i,
const char *  v 
) [static]

Definition at line 63 of file ldblib.cpp.

References lua_pushstring(), and lua_setfield().

Referenced by db_getinfo().

static void treatstackoption ( lua_State L,
lua_State L1,
const char *  fname 
) [static]

Definition at line 87 of file ldblib.cpp.

References lua_pushvalue(), lua_remove(), lua_setfield(), and lua_xmove().

Referenced by db_getinfo().

static char* unmakemask ( int  mask,
char *  smask 
) [static]

Definition at line 234 of file ldblib.cpp.

References LUA_MASKCALL, LUA_MASKLINE, and LUA_MASKRET.

Referenced by db_gethook().


Variable Documentation

const luaL_Reg dblib[] [static]

Initial value:

 {
  {"debug", db_debug},
  {"getfenv", db_getfenv},
  {"gethook", db_gethook},
  {"getinfo", db_getinfo},
  {"getlocal", db_getlocal},
  {"getregistry", db_getregistry},
  {"getmetatable", db_getmetatable},
  {"getupvalue", db_getupvalue},
  {"setfenv", db_setfenv},
  {"sethook", db_sethook},
  {"setlocal", db_setlocal},
  {"setmetatable", db_setmetatable},
  {"setupvalue", db_setupvalue},
  {"traceback", db_errorfb},
  {NULL, NULL}
}

Definition at line 374 of file ldblib.cpp.

const char KEY_HOOK = 'h' [static]

Definition at line 203 of file ldblib.cpp.

Referenced by gethooktable(), and hookf().


Generated on Mon Feb 16 15:14:58 2009 for Scorched3D by  doxygen 1.5.3