Example #1
0
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());
}