static void lutok::LObject<T>::TypeInfo::commit(state& s, int methods) { s.get_global(typeid(T).name()); if (s.is_table()) { s.set_table(methods); return; } s.new_table(); int type = s.get_top(); assert(T::s_lunaTypeInfoPtr); s.push_string(T::s_lunaTypeInfoPtr->name()); set(s, type, "name"); s.push_value(type); set(s, methods, "type"); s.push_value(methods); set(s, LUA_GLOBALSINDEX, T::s_lunaTypeInfoPtr->name()); }