// ///////////////////////////////////////////////////////////////// // // ///////////////////////////////////////////////////////////////// void LuaStateManager::IdentifyLuaObjectType(LuaPlus::LuaObject &objToTest) { assert(!objToTest.IsNil() && "Nil!"); assert(!objToTest.IsBoolean() && "Boolean!"); assert(!objToTest.IsCFunction() && "C-Function!"); assert(!objToTest.IsFunction() && "Function!"); assert(!objToTest.IsInteger() && "Integer!"); assert(!objToTest.IsLightUserData() && "Light User Data!"); assert(!objToTest.IsNone() && "None!"); assert(!objToTest.IsNumber() && "Number!"); assert(!objToTest.IsString() && "String!"); assert(!objToTest.IsTable() && "Table!"); assert(!objToTest.IsUserData() && "User Data!"); assert(!objToTest.IsWString() && "Wide String!"); assert(0 && "UNKNOWN!"); }
void LuaManager::PrintTable(LuaPlus::LuaObject table, bool recursive) { if(table.IsNil()) { if(!recursive) GLIB_LOG("LuaManager", "null table"); return; } if(!recursive) GLIB_LOG("LuaManager", "PrintTable()"); cout << (!recursive ? "--\n" : "{ "); bool noMembers = true; for(LuaPlus::LuaTableIterator iter(table); iter; iter.Next()) { noMembers = false; LuaPlus::LuaObject key = iter.GetKey(); LuaPlus::LuaObject value = iter.GetValue(); cout << key.ToString() << ": "; if(value.IsFunction()) cout << "function" << "\n"; else if(value.IsTable()) PrintTable(value, true); else if(value.IsLightUserData()) cout << "light user data" << "\n"; else cout << value.ToString() << ", "; } cout << (!recursive ? "\n--" : "}"); cout << endl; }