Details
Small changes in test library: - execute mode added to 'all.lua'; - more information about subtypes (tags) when printing a stack.
This commit is contained in:
53
ltests.c
53
ltests.c
@@ -327,37 +327,40 @@ void lua_printobj (lua_State *L, struct GCObject *o) {
|
|||||||
|
|
||||||
|
|
||||||
void lua_printvalue (TValue *v) {
|
void lua_printvalue (TValue *v) {
|
||||||
switch (ttype(v)) {
|
switch (ttypetag(v)) {
|
||||||
case LUA_TNUMBER: {
|
case LUA_VNUMINT: case LUA_VNUMFLT: {
|
||||||
char buff[LUA_N2SBUFFSZ];
|
char buff[LUA_N2SBUFFSZ];
|
||||||
unsigned len = luaO_tostringbuff(v, buff);
|
unsigned len = luaO_tostringbuff(v, buff);
|
||||||
buff[len] = '\0';
|
buff[len] = '\0';
|
||||||
printf("%s", buff);
|
printf("%s", buff);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LUA_TSTRING: {
|
case LUA_VSHRSTR:
|
||||||
printf("'%s'", getstr(tsvalue(v)));
|
printf("'%s'", getstr(tsvalue(v))); break;
|
||||||
break;
|
case LUA_VLNGSTR:
|
||||||
}
|
printf("'%.30s...'", getstr(tsvalue(v))); break;
|
||||||
case LUA_TBOOLEAN: {
|
case LUA_VFALSE:
|
||||||
printf("%s", (!l_isfalse(v) ? "true" : "false"));
|
printf("%s", "false"); break;
|
||||||
break;
|
case LUA_VTRUE:
|
||||||
}
|
printf("%s", "true"); break;
|
||||||
case LUA_TLIGHTUSERDATA: {
|
case LUA_VLIGHTUSERDATA:
|
||||||
printf("light udata: %p", pvalue(v));
|
printf("light udata: %p", pvalue(v)); break;
|
||||||
break;
|
case LUA_VUSERDATA:
|
||||||
}
|
printf("full udata: %p", uvalue(v)); break;
|
||||||
case LUA_TNIL: {
|
case LUA_VNIL:
|
||||||
printf("nil");
|
printf("nil"); break;
|
||||||
break;
|
case LUA_VLCF:
|
||||||
}
|
printf("light C function: %p", fvalue(v)); break;
|
||||||
default: {
|
case LUA_VCCL:
|
||||||
if (ttislcf(v))
|
printf("C closure: %p", clCvalue(v)); break;
|
||||||
printf("light C function: %p", fvalue(v));
|
case LUA_VLCL:
|
||||||
else /* must be collectable */
|
printf("Lua function: %p", clLvalue(v)); break;
|
||||||
printf("%s: %p", ttypename(ttype(v)), gcvalue(v));
|
case LUA_VTHREAD:
|
||||||
break;
|
printf("thread: %p", thvalue(v)); break;
|
||||||
}
|
case LUA_VTABLE:
|
||||||
|
printf("table: %p", hvalue(v)); break;
|
||||||
|
default:
|
||||||
|
lua_assert(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
0
testes/all.lua
Normal file → Executable file
0
testes/all.lua
Normal file → Executable file
Reference in New Issue
Block a user