Improvements to the pretty-printer

This commit is contained in:
2021-11-26 12:28:59 -05:00
parent 63bca62edd
commit c02109699e
7 changed files with 75 additions and 52 deletions

View File

@@ -70,11 +70,13 @@ static bool equivalent_values(LuaStack &MLS, LuaSlot mval, LuaSlot mtnmap,
}
case LUA_TT_CLASS: {
if (SLS.xtype(sval) != LUA_TT_CLASS) return false;
// What if it's an ill-formed class?
return MLS.classname(mval) == SLS.classname(sval);
}
case LUA_TT_TANGIBLE: {
if (SLS.xtype(sval) != LUA_TT_TANGIBLE) return false;
return World::tangible_id(MLS, mval) == World::tangible_id(SLS, sval);
// What if it's an ill-formed tangible?
return MLS.tanid(mval) == SLS.tanid(sval);
}
case LUA_TT_GLOBALENV: {
return (SLS.xtype(sval) == LUA_TT_GLOBALENV);
@@ -120,7 +122,7 @@ static void transmit_value(LuaStack &MLS, LuaSlot mval, LuaSlot mtnmap, StreamBu
}
case LUA_TT_TANGIBLE: {
sb->write_uint8(LUA_TT_TANGIBLE);
sb->write_int64(World::tangible_id(MLS, mval));
sb->write_int64(MLS.tanid(mval));
return;
}
case LUA_TT_GLOBALENV: {