From 52aad0ab5937d4df6fe07aedbf9987f2f792698c Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy <roberto@inf.puc-rio.br> Date: Fri, 11 Feb 2000 14:52:54 -0200 Subject: removing implementation for better error messages (must rethink it...) --- ldebug.c | 43 +++++++++---------------------------------- 1 file changed, 9 insertions(+), 34 deletions(-) (limited to 'ldebug.c') diff --git a/ldebug.c b/ldebug.c index a28b8ff9..722508f7 100644 --- a/ldebug.c +++ b/ldebug.c @@ -1,5 +1,5 @@ /* -** $Id: ldebug.c,v 1.6 2000/01/25 13:57:18 roberto Exp roberto $ +** $Id: ldebug.c,v 1.7 2000/01/28 16:53:00 roberto Exp roberto $ ** Debug Interface ** See Copyright Notice in lua.h */ @@ -85,21 +85,6 @@ int lua_getstack (lua_State *L, int level, lua_Dbgactreg *ar) { } -static const char *luaG_getname (lua_State *L, const char **name, StkId top) { - StkId f = aux_stackedfunction(L, 0, top); - if (f == NULL || !hasdebuginfo(L, f) || ttype(f+2) == LUA_T_NIL) - return ""; /* no name available */ - else { - int i = (f+2)->value.i; - if (ttype(f) == LUA_T_LCLMARK) - f = protovalue(f); - LUA_ASSERT(L, ttype(f) == LUA_T_LMARK, "must be a Lua function"); - *name = tfvalue(f)->kstr[i]->str; - return luaO_typename(f+2); - } -} - - static int lua_nups (StkId f) { switch (ttype(f)) { case LUA_T_LCLOSURE: case LUA_T_CCLOSURE: @@ -131,10 +116,10 @@ int lua_getlocal (lua_State *L, const lua_Dbgactreg *ar, lua_Dbglocvar *v) { if (!fp) return 0; /* `f' is not a Lua function? */ v->name = luaF_getlocalname(fp, v->index, lua_currentline(L, f)); if (!v->name) return 0; - /* if `name', there must be a LUA_T_LINE and a NAME */ - /* therefore, f+3 points to function base */ + /* if `name', there must be a LUA_T_LINE */ + /* therefore, f+2 points to function base */ LUA_ASSERT(L, ttype(f+1) == LUA_T_LINE, ""); - v->value = luaA_putluaObject(L, (f+3)+(v->index-1)); + v->value = luaA_putluaObject(L, (f+2)+(v->index-1)); return 1; } @@ -146,7 +131,7 @@ int lua_setlocal (lua_State *L, const lua_Dbgactreg *ar, lua_Dbglocvar *v) { v->name = luaF_getlocalname(fp, v->index, lua_currentline(L, f)); if (!v->name) return 0; LUA_ASSERT(L, ttype(f+1) == LUA_T_LINE, ""); - *((f+3)+(v->index-1)) = *v->value; + *((f+2)+(v->index-1)) = *v->value; return 1; } @@ -181,8 +166,6 @@ static int checkfunc (lua_State *L, TObject *o) { static void lua_getobjname (lua_State *L, StkId f, lua_Dbgactreg *ar) { GlobalVar *g; - ar->namewhat = luaG_getname(L, &ar->name, f); /* caller debug information */ - if (*ar->namewhat) return; /* try to find a name for given function */ setnormalized(L->top, f); /* to be used by `checkfunc' */ for (g=L->rootglobal; g; g=g->next) { @@ -229,24 +212,16 @@ int lua_getinfo (lua_State *L, const char *what, lua_Dbgactreg *ar) { -static void call_index_error (lua_State *L, TObject *o, const char *tp, - const char *v) { - const char *name; - const char *kind = luaG_getname(L, &name, L->top); - if (*kind) { /* is there a name? */ - luaL_verror(L, "%.10s `%.30s' is not a %.10s", kind, name, tp); - } - else { - luaL_verror(L, "attempt to %.10s a %.10s value", v, lua_type(L, o)); - } +static void call_index_error (lua_State *L, TObject *o, const char *v) { + luaL_verror(L, "attempt to %.10s a %.10s value", v, lua_type(L, o)); } void luaG_callerror (lua_State *L, TObject *func) { - call_index_error(L, func, "function", "call"); + call_index_error(L, func, "call"); } void luaG_indexerror (lua_State *L, TObject *t) { - call_index_error(L, t, "table", "index"); + call_index_error(L, t, "index"); } -- cgit v1.2.3-55-g6feb