From 2877bad4c260d11c22c3b12e633d6b1ca3415789 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Wed, 19 Jan 2000 10:00:45 -0200 Subject: new debug API (first version) --- lapi.c | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'lapi.c') diff --git a/lapi.c b/lapi.c index 72df1a2a..85ac9328 100644 --- a/lapi.c +++ b/lapi.c @@ -1,5 +1,5 @@ /* -** $Id: lapi.c,v 1.67 1999/12/30 18:27:03 roberto Exp roberto $ +** $Id: lapi.c,v 1.68 2000/01/13 15:56:03 roberto Exp roberto $ ** Lua API ** See Copyright Notice in lua.h */ @@ -30,29 +30,12 @@ const char lua_ident[] = "$Lua: " LUA_VERSION " " LUA_COPYRIGHT " $\n" -const lua_Type luaA_normtype[] = { /* ORDER LUA_T */ - LUA_T_USERDATA, LUA_T_NUMBER, LUA_T_STRING, LUA_T_ARRAY, - LUA_T_LPROTO, LUA_T_CPROTO, LUA_T_NIL, - LUA_T_LCLOSURE, LUA_T_CCLOSURE, - LUA_T_LCLOSURE, LUA_T_CCLOSURE, /* LUA_T_LCLMARK, LUA_T_CCLMARK */ - LUA_T_LPROTO, LUA_T_CPROTO /* LUA_T_LMARK, LUA_T_CMARK */ -}; - - -void luaA_setnormalized (TObject *d, const TObject *s) { - d->value = s->value; - d->ttype = luaA_normalizedtype(s); -} - const TObject *luaA_protovalue (const TObject *o) { - switch (luaA_normalizedtype(o)) { + switch (ttype(o)) { case LUA_T_CCLOSURE: case LUA_T_LCLOSURE: return protovalue(o); default: - LUA_ASSERT(L, luaA_normalizedtype(o) == LUA_T_LPROTO || - luaA_normalizedtype(o) == LUA_T_CPROTO, - "invalid `function'"); return o; } } @@ -107,7 +90,7 @@ int lua_callfunction (lua_State *L, lua_Object function) { return 1; else { luaD_openstack(L, L->Cstack.base); - luaA_setnormalized(L->Cstack.base, function); + *L->Cstack.base = *function; return luaD_protectedrun(L); } } @@ -248,12 +231,7 @@ int lua_equal(lua_State *L, lua_Object o1, lua_Object o2) { UNUSED(L); if (o1 == LUA_NOOBJECT || o2 == LUA_NOOBJECT) return (o1 == o2); - else { - TObject obj1, obj2; - luaA_setnormalized(&obj1, o1); - luaA_setnormalized(&obj2, o2); - return luaO_equalObj(&obj1, &obj2); - } + else return luaO_equalObj(o1, o2); } @@ -344,7 +322,7 @@ void luaA_pushobject (lua_State *L, const TObject *o) { void lua_pushobject (lua_State *L, lua_Object o) { if (o == LUA_NOOBJECT) lua_error(L, "API error - attempt to push a NOOBJECT"); - luaA_setnormalized(L->top, o); + *L->top = *o; incr_top; } -- cgit v1.2.3-55-g6feb